CN104508636A - 分割数据以改进系统性能 - Google Patents
分割数据以改进系统性能 Download PDFInfo
- Publication number
- CN104508636A CN104508636A CN201280075100.XA CN201280075100A CN104508636A CN 104508636 A CN104508636 A CN 104508636A CN 201280075100 A CN201280075100 A CN 201280075100A CN 104508636 A CN104508636 A CN 104508636A
- Authority
- CN
- China
- Prior art keywords
- data cell
- renewal frequency
- data
- main frame
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000013467 fragmentation Methods 0.000 claims description 7
- 238000006062 fragmentation reaction Methods 0.000 claims description 7
- 230000003362 replicative effect Effects 0.000 abstract 1
- 230000035945 sensitivity Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000005192 partition Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000005055 memory storage Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种用于分割数据以改进系统性能的方法、计算机可读存储介质和系统。该方法包括:根据多个数据单元的更新频率将数据项分割为所述数据单元;从所述数据单元中识别低更新频率数据单元;根据所述低更新频率数据单元的历史访问模式为所述低更新频率数据单元确定区域敏感组,其中所述区域敏感组包括第一主机;复制所述低更新频率数据单元;以及将被复制的所述低更新频率数据单元推送到所述第一主机。本公开提供使得分布式计算机系统能够有效地同步被修改的数据项、尤其是用于频繁被修改的数据项的解决方案。
Description
背景技术
除非在本文中另外表明,否则这里所描述的内容对于本申请中的权利要求来说不是现有技术并且不由于包括在本部分中而被承认是现有技术。
计算机系统可包括可被组织为分布式系统的多个主机或站点。通常,当被组织为分布式系统时,诸如表格和数据库的数据项可被存储在多个主机处。通常每个数据项被复制并分布到主机。
分布式系统的用户可修改存储在主机之一处的数据项。在修改数据项之后,被修改的数据项可在主机处被复制和更新。也就是说,数据项的被修改的版本可替换存储在多个主机处的以前的数据项。修改、复制和更新过程可被称为数据项同步。在一些分布式系统中,修改的数据项的同步可实时地不断发生。同步可导致能量和时间的花费,尤其是对于经常被修改的数据项来说。
发明内容
本文中所述的技术一般地涉及分布式计算机系统中的数据管理。
在一些示例中,描述了方法。该方法可包括根据数据单元的更新频率将数据项分割为所述多个数据单元。该方法也可包括从所述数据单元中识别低更新频率数据单元。该方法也可包括根据低更新频率数据单元的历史访问模式为所述低更新频率数据单元确定区域敏感组。区域敏感组可包括第一主机。该方法也可包括复制所述低更新频率数据单元。该方法也可包括将被复制的低更新频率数据单元推送到第一主机。
在一些示例中,描述了一种具有存储于其上的计算机可读指令的计算机可读存储介质,所述计算机可读指令可被计算装置执行以执行操作。所述操作可包括分割来自被包括在数据项中的多个数据单元的低更新频率数据单元。所述操作也可包括根据所述低更新频率数据单元的历史访问模式为所述低更新频率数据单元确定区域敏感组。区域敏感组可包括主机的子集。所述操作也可包括复制所述低更新频率数据单元。所述操作也可包括将被复制的低更新频率数据单元推送到所述主机的子集。
在一些示例中,描述了系统。该系统可包括位于多个位置处的多个主机和可被配置为与所述主机进行通信的主装置。该主装置可包括计算装置和具有存储于其上的计算机可读指令的计算机可读存储媒介,所述计算机可读指令可被所述计算装置执行以执行操作。所述操作可包括计算包括在数据项中的数据单元的更新频率。所述操作也可包括根据所述数据单元的历史访问模式为所述数据单元确定区域敏感组,其中所述区域敏感组中的每个包括主机的集合。所述操作也可包括将所述数据单元分割为低更新频率复制单元。所述低更新频率复制单元中的每个可包括所述数据单元的子集(每个具有低于阈值的更新频率)以及表示所述数据单元的子集的所述区域敏感组共用的所述主机的子集的位置列表。所述操作也可包括复制包括在所述低更新频率复制单元中的所述数据单元的子集。所述操作也可包括将被复制所述数据单元的子集推送到所述主机的子集。
前述概要仅仅是说明性的,而并不意图以任何方式是限制性的。除了说明性的方面,上述实施例和特征、另外的方面、实施例和特征将通过参考附图和下面的详细描述而变得显而易见。
附图说明
在附图中:
图1是其中数据可被分割的示例操作环境的框图;
图2A是示出可发生在图1的操作环境中的数据单元的示例分割的框图;
图2B示出组织涉及图2A的数据单元分割的信息的第一表格;
图3A是示出可发生在图1的操作环境中的数据单元的示例分割的框图;
图3B示出组织涉及图3A的数据单元分割的信息的第二表格;
图4示出是可被实施在图1的操作环境中的示例伪代码;
图5示出用于分割数据以改进系统性能的示例方法的流程图;
图6示出用于将数据分割为复制单元的示例方法的流程图;以及
图7是示出被布置用于分割数据以改进系统性能的示例计算装置的框图,
所有都根据本文中所述的至少某些实施例被布置。
具体实施方式
在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号通常标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文所提供的主题的精神或范围的情况下,可以利用其它实施例,以及可以进行其它改变。将易于理解的是,如在本文中一般地描述的和在图中示出的那样,本公开的各方面可以以广泛多样的不同配置被布置、替代、组合、分割和设计,所有这些在本文中都被明确地构想。
本文中所述的一些实施例一般地涉及可被布置用于分割数据以改进系统性能的操作环境。所述操作环境可包括主装置和多个主机。存储在主装置上的数据项可被分割为数据单元。数据单元可根据数据单元的更新频率被分割。更新频率一般地涉及每个数据单元通常在时隙窗口期间被更新或修改的次数。
主装置然后可复制具有低于更新频率阈值的数据单元。被复制的数据单元可被主装置推送到主机。用户可本地地访问复制的数据单元,如其是由多个主机中的一个所提供的那样。此外,用户可远程地访问在阈值之上的数据单元。主装置可被配置为接收针对数据单元的写请求。当写请求是针对被复制的数据单元中的一个时,主装置按照写请求脱机地修改数据单元并更新被复制的数据单元。当写请求是针对在阈值之上的数据单元中的一个时,主装置可实时地修改数据单元并更新数据单元。
图1是根据本文中所述的至少一些实施例布置的其中数据可被分割的示例操作环境100的框图。在所示的实施例中,操作环境100包括:第一、第二和/或第N个主机102A、102B和102N(统称为主机或多个主机102);主装置104;第一第二和/或第N个用户106A、106B和106N(统称为用户或多个用户106);以及第一和/或第N个区域敏感组108A和108N(统称为区域敏感组或多个区域敏感组108)。
每个主机102可包括实现主装置104和/或任何其他主机102之间的通信的任何系统、设备或装置。此外,主机102可至少部分地实现用户106和主装置104之间、用户106之间、用户106和主机102之间或它们的一些组合之间的通信。主机102可被主装置104管理。主机102因此可接收例如控制信号的输入,以便控制主机102的操作。在一些实施例中,主机102可包括逻辑实体,诸如接收各种输入并提供对分布式网络中的信息的访问的网络单元。
主装置104可包括与主机102进行通信的任何系统、设备或装置。在主装置102管理主机102的实施例中,主装置104可以是中心化的存储和/或计算位置。此外,主装置104可控制被主机102中的一个或多个和/或用户106中的一个或多个存储或访问的信息或其一部分。此外,主装置104可包括计算装置118。计算装置118可包括可实行或执行本文中所述的一个或多个操作、功能,等的一个或多个处理器。
用户106可包括任何实体,诸如例如人、计算系统、计算系统组或企业。用户106可与主机102、与主装置104、通过主机102与主装置104、与其他用户106或它们的一些组合对接和/或通信。
区域敏感组108可与物理位置相关联。区域敏感组108可包括一个或多个主机102。例如,第一区域敏感组108A可包括第一主机102A和第二主机102B。数据项110或者数据单元112的历史访问模式可被用来确定哪个主机102应包括在给定区域敏感组108中的一个中。历史访问模式的一些其他细节、数据项110以及数据单元112在下边被讨论。
在图1中,包括椭圆和第N个用户106N、第N个区域敏感组108N以及第N个主机102N是打算说明操作环境100可包括任意数量的用户106、区域敏感组108以及主机102。此外,主机102可彼此以各种方式进行通信,并且在区域敏感组108中包括主机102中的数目可以变化而不受限制。
主装置104和主机102可组成网络122的一部分和/或可被可通信地耦合到网络122。通常,网络122可包括实现主装置104、主机102、用户106或其一些组合之间的通信的一个或多个广域网(WAN)和/或局域网(LAN)。在一些实施例中,网络122包括互联网,包括由多个WAN和/或LAN之间的逻辑和物理连接形成的全球互联网络。可替换地或附加地,网络122可包括一个或多个蜂窝RF网络和/或一个或多个有线和/或无线网络,诸如但不限于802.xx网络、蓝牙接入点、无线接入点、基于IP的网络,等等。网络122也可包括使一种类型的网络能够与另一种类型的网络对接的服务器。可替换地或附加地,网络122可包括云计算环境。
可通过网络112可访问、存储在主装置104和/或主机102上的信息可被组织为数据项110和数据单元112。通常,数据单元112可包括数据项110之一的分割部分。数据项110的一些示例可包括表格、数据库、两个或更多表格的组合、两个或更多数据库的组合或一个或多个表格和一个或多个数据库的组合。例如,数据项110可包括鞋店的库存的数据库。在这个示例中,数据单元112可包括鞋店内拖鞋数目的指示。数据项110和数据单元112可被存储在主装置104上。
主装置104可包括数据项110。可根据颗粒度定义数据项110中的一个或多个。通常,数据项110的颗粒度指的是数据项110中的数据字段的大小。如果一个给定的数据项110中的颗粒度是精细的,那么用于数据输入和/或数据存储的开销可能增加但是与数据项110相关的编程的灵活性也可能增加。
在一些实施例中,颗粒度可由与每个数据项110相关联的应用类别确定。包括在每个应用类别中的数据项110可具共同的颗粒度。示例应用类别可包括数据表格。包括一个或多个数据表格的数据项110可被包括在对于数据表格的相应应用类别内。包括在数据表格应用类别中的数据项110的颗粒度可以是相同的和/或基本相同的。
附加地或替换地,数据项110中的一个或多个可被碎化(shard)为一个或多个子数据项120。通常,碎化包括对数据项110中的信息应用分割方案。数据项110可根据规格被碎化为子数据项120。规格可包括每个数据项110中所包括的类型或信息。可以以与数据项110基本相同的方式对待或处理子数据项120。也就是说,子数据项120可包括如本文中所述的那样可被分割、复制、更新等的数据单元112。例如,数据项110可包括每日销售信息。在这个示例中,可以通过根据月度规格分割数据项110来将每个数据项110碎化为每月销售子数据项120。因此,每个子数据项120在本示例中是每月的销售信息。
数据单元的子集114可被存储在主机102中的一个或多个上。在图1中,数据单元的子集114被示出在第一主机102A上,然而,这并不意味着是限制性的。主装置104上的数据单元112可包括被包括在所有数据项110中的所有数据单元112。然而,数据单元的子集114可包括数据单元112的某些部分。在一些实施例中,被包括在数据单元的子集114内的数据单元112可由数据单元112和/或区域敏感组108的更新频率确定。有关存储在主机102中的一个或多个上的数据单元的子集114的一些其他的细节在下边被提供。
通常,主机102、主装置104以及网络122使得能够访问和修改数据项110。特别地,网络122可实现对主机102处的数据单元的子集114的本地读取访问。例如,第一用户106A也许能够查看存储在第一主机102A上的数据单元的子集114的只读版本。这样的读取访问可实现第一用户106A查看数据单元的子集114的只读版本、但可能禁止第一用户106A修改只读版本。
此外,网络122可实现对存储在主装置104上的数据单元112的远程读取访问。例如,如果第一用户106A想查看中未被包括在数据单元的子集114内的数据单元112中的一个,那么第一用户106A可请求来自主装置104的该数据单元112。主装置104可向第一用户106A提供对该数据单元112的只读版本的访问。
此外,网络122可实现对数据单元112和数据单元的子集114的写入访问。相应地,主装置104可被配置为接收对数据单元112中的一个进行写入的写请求。在一些实施例中,主机102不被配置为接收写请求。相反,写请求可被传递到主装置104,即使用户106希望修改的数据单元112被包括在相应主机102处的数据单元的子集114内。例如,如果第一用户106A想修改被包括第一主机102A上的在数据单元的子集114中的第一数据单元,那么第一用户106A可将写请求传递给主装置104,而非将写请求传递给第一主机102A。
当主装置104收到针对被包括在数据单元的子集114中的数据单元112的一个的写请求时,主装置104可被配置为按照写请求修改该数据单元112。主装置104然后可复制按照写请求被修改的该数据单元112。主装置114可更新被包括在数据单元的子集114中的该数据单元112的版本。按照写请求被修改的该数据单元112的更新可脱机地发生。如本文中所使用的,脱机地更新该数据单元112及其变形词可指代在一定延迟时段之后更新该数据单元112从而在一个时间段内主机102处的该数据单元112不同于位于主装置104处的相应的该数据单元112。
主装置104也可接收针对未被包括在数据单元的子集114内的数据单元112中的一个的写请求。未被包括在数据单元的子集114中的该数据单元112可被存储在主装置104处。主装置104可被配置为按照写请求修改该数据单元112并实时地更新该数据单元112。
图2A是根据本文中所述的至少一些实施例布置的、示出可发生在图1的操作环境100中的数据单元202A-202E(统称为数据单元202或多个数据单元202)的示例分割的框图。特别地,图2A示出图1的操作环境100的示例实施例,其被表示作为图2A中的操作环境100A。图2A中所示的操作环境100A包括图1中所示的操作环境100的用户106、数据项110之一、主机102、区域敏感组108、网络122和主装置104。图2A中所示的操作环境100A包括第三用户106C、第二区域敏感组108B和第三主机102C。相对于图1的操作环境100中所描述的,第三用户106C是用户106的示例,第二区域敏感组108B是区域敏感组108的示例,并且第三主机102C是主机102的示例。
主装置104可将数据项110分割到多个数据单元202中。如所示的,数据项110可被分割到第一数据单元202A、第二数据单元202B、第三数据单元202C、第四数据单元202D和第五数据单元202E中。数据项110包括五个数据单元202,然而,这并不意味着是限制性的。数据项110可包括任意数量的数据单元202。数据单元202可对应于图1的数据单元112。
主装置104可根据数据单元202的更新频率分割数据项110。主装置104可以为每个数据单元202计算更新频率。在一些实施例中,主装置104可定义时隙窗口并且记录每个数据单元202在该时隙窗口期间被更新的次数。例如,可将用于数据项110的时隙窗口定义为诸如例如三天的时间段。主装置104或另一系统然后可记录第一数据单元202A、第二数据单元202B、第三数据单元202C、第四数据单元202D以及第五数据单元202E中的每个在这三天期间被更新的次数。
图2B是根据本文中所述的至少一些实施例布置的、组织与图2A的分割数据单元202有关的信息的第一表格204。在第一表格204中,被标记为“更新频率206”的栏可包括对每个数据单元202在时隙窗口期间可能已被更新的次数的指示。如所示的,第一数据单元202A可能已被更新0次,第二数据单元202B可能已被更新18次,第三数据单元202C可能已被更新5次,第四数据单元202D可能已被更新7次,以及第五数据单元202E可能已被更新5次。
从数据单元202中,可识别一个或多个低更新频率数据单元。在第一表格204中,被标记为“高/低更新频率数据单元210”的栏表示每个数据单元202被定为低更新频率数据单元210A还是高更新频率数据单元210B。低更新频率数据单元210A可包括具有小于阈值的更新频率206的数据单元202。例如,如果阈值是1,因为第一数据单元202A在所说明的实施例中已被更新0次,因此第一数据单元202A在阈值之下。因此,第一数据单元202A可被识别作为低更新频率数据单元210A。
相应地,可从数据单元202中识别一个或多个高更新频率数据单元210B。高更新频率数据单元210B可包括具有高于所述阈值的更新频率206的数据单元202。例如,如果阈值是6,那么第二数据单元202B和第四数据单元202D可被识别作为高更新频率数据单元210B,这是因为第二数据单元202B和第四数据单元202D中的每个的更新频率206在被说明的实施例中都大于6。
然而,在被描述的实施例中,所述阈值等于10。阈值10并不意味着是限制性的。相应地,包括小于10的更新频率206的数据单元202可被识别作为低更新频率数据单元210A。在被说明的实施例中,第一数据单元202A、第三数据单元202C、第四数据单元202D以及第五数据单元202E可被识别作为低更新频率数据单元210A。第二数据单元202B的更新频率206大于阈值并且因此可被识别作为高更新频率数据单元210B。
在组合参考图2A和2B的情况下,主装置104可为数据单元202确定区域敏感组108。区域敏感组108可从相应数据单元202的历史访问模式被确定。区域敏感组108可以位于物理位置或其附近,在该物理位置中的数据单元202中的一个被定期地访问和/或受到一个或多个或用户106的特别关注。区域敏感组108可包括一个或多个主机102,该一个或多个主机102物理地位于该物理位置处和/或在该物理位置处对用户106来说是可访问的。例如,数据单元202中的一个可包括东京的天气模式。区域敏感组108可位于东京或其附近。此外,东京的区域敏感组108可包括位于东京或被在东京的用户106访问的任意数量的主机102。
在一些实施例中,可仅仅为低更新频率数据单元210A确定区域敏感组108。因此,区域敏感组108可基于低更新频率数据单元210A的历史访问模式。例如在第一表格204中,被标记为“区域敏感组108”的栏包括用于第一数据单元202A、第三数据单元202C、第四数据单元202D以及第五数据单元202E中的每个的区域敏感组108。对于属于高更新频率数据单元210B的第二数据单元202B,区域敏感组108可以是“不适用”。
如在图2A-2B中所示的,第一区域敏感组108A可被确定作为用于第一数据单元202A和第三数据单元202C的区域敏感组108。同样,第二区域敏感组108B可被确定作为用于第四数据单元202D和第五数据单元202E的区域敏感组108。第二区域敏感组108B可包括第三主机102C。第一区域敏感组108A可包括第一主机102A和第二主机102B。该信息被表示在第一表格204中被标记为“被包括在区域敏感组中的主机222”的栏中。
主装置104可复制低更新频率数据单元210A。低更新频率数据单元可被复制特定次数,该特定次数可与相应区域敏感组108中的主机102的数量相关。例如,第一数据单元202A可被复制两次,因为第一区域敏感组108A包括第一主机102A和第二主机102B。
主装置104可将被复制的低更新频率数据单元210A推送到被包括在相应区域敏感组108中的主机102。如在图2A中示出的,例如,第一数据单元202A和第三数据单元202C可被推送到被包括在第一区域敏感组108A中的第一主机102A和第二主机102B。此外,第四数据单元202D和第五数据单元202E可被推送到被包括在第二区域敏感组108B中的第三主机102C。
主装置104可不将第二数据单元202B推送到任何主机102,因为第二数据单元202B可被识别作为高更新频率数据单元210B之一。相反,第二数据单元202B可留在主装置104处。在一些实施例中,包括低更新频率数据单元210A的数据单元202除了被推送到相应主机102外还可保留在主装置104处。
在组合参考图1和2A的情况下,图1的数据单元的子集114可对应于图2A的第一数据单元202A和第三数据单元202C。因此,第一用户106A可具有对第一数据单元202A和第二数据单元202B的本地读取访问权限。图1中的数据单元112可对应于图2A中的到数据单元202。因此,第一用户106A可具有对第二数据单元202B的远程读取访问权限。
此外,第一用户106A可将写请求传递给主装置104。如果写请求是针对第一数据单元202A或第三数据单元202C,则第一数据单元202A或第三数据单元202C的修改版本可在主装置104处首先被更新后在第一主机102A和和第二主机102B处被脱机地更新。可替换地,如果写请求是针对第二数据单元202B,则第二数据单元202B的修改版本可在主装置104处被实时地更新。
在一些实施例中,可为数据单元202中的一个或多个生成位置列表。位置列表可表示被包括在区域敏感组108中的主机102。另外地或可替换地,位置列表可表示数据单元202中的一个或多个已被推送到的主机102。位置列表可被用于更新低更新频率数据单元210A的修改版本。也就是说,当主装置104收到针对低更新频率数据单元210A之一的写请求时,主装置104可参考位置列表以确定哪些主机102将以低更新频率数据单元210A的修改版本来更新。
例如,参考图2B,用于第一数据单元202A的位置列表可包括第一主机102A和第二主机102B。当针对第一数据单元202A的写请求被收到时,主装置104可按照写请求修改第一数据单元202A。主装置104然后可在位置列表上的主机102(即,所说明的示例中的第一主机102A和第二主机102B)处更新第一数据单元202A的版本。
图3A是根据本文中所述的至少一些实施例布置的、示出可发生在图1的操作环境100中的数据单元302A-302G(统称为数据单元302或多个数据单元302)的示例分割的框图。特别地,图3A示出图1的操作环境100的示例实施例,其被表示作为图3A中的操作环境100B。图3A中所示的操作环境100B包括图1的操作环境100的用户106、数据项之一110、主机102、网络122、和主装置104。类似于图2A的操作环境100,图3A的操作环境100B包括第三用户106C、第二区域敏感组108B以及第三主机102C。不象图1的操作环境100和图2A的操作环境100A那样,图3A的操作环境100B可以不包括区域敏感组108。相反,图3A的操作环境100B可包括第一和第二单元区域敏感组312A和312B(统称为单元区域敏感组或多个单元区域敏感组312)。单元区域敏感组312的一些其他的细节在下边被提供。
主装置104可将数据项110分割为一个或多个数据单元302。如所示的,数据项110可被分割为第一数据单元302A、第二数据单元302B、第三数据单元302C、第四数据单元302D、第五数据单元302E、第六数据单元302F和第七数据单元302G。数据项110包括七个数据单元302,然而,这并不意味着是限制性的。数据项110可包括任意数量的数据单元302。主装置104可根据数据单元302的更新频率分割数据项110。如上所述,主装置104可以为每个数据单元302计算更新频率。
图3B是根据本文中所述的至少一些实施例布置的、组织与图3A的分割数据单元302有关的信息的第二表格304。在第二表格304中,被标记为“更新频率306”的栏可包括对每个数据单元302在时隙窗口期间被更新的次数的指示。如所示的,第一数据单元302A可能已被更新0次,第二数据单元202B可能已被更新12次,第三数据单元202C可能已被更新5次,第四数据单元202D可能已被更新7次,第五数据单元202E可能已被更新18次,第六数据单元202F可能已被更新26次,以及第七数据单元202G可能已被更新23次,全部都是在时隙窗口期间。
此外,数据单元302可根据每个数据单元302已被更新的次数被排序。在第二表格304中,数据单元302已以从最低更新频率306到最高更新频率306的升序被排序。在替换实施例中,数据单元302可以其他方式被排序。
图4示出根据本文中所述的至少一些实施例布置的、可被实施在图1的操作环境100中的示例伪代码400。在组合参考图3B和4的情况下,伪代码400可实施算法,该算法可被用来根据更新频率306对数据单元302进行升序排序。伪代码400所代表的算法的执行可导致数据单元302被组织为如在图3B的第二表格304中所示的那样。
具体参考图4,伪代码400可包括一个或多个通用部分。伪代码400被编写以对可能类似于和/或对应于例如图3A和3B的数据单元302的表格集合进行寻址(address)。第一部分402可初始地定义伪代码400的变量。变量中第一个可以是“频率”变量408。频率变量408与表格集合中的一个表格的更新频率相关。第二部分404包括对包括在表格集合中的每个表格进行寻址的“循环语句(for loop)”。循环语句根据频率变量408对该组表格进行排序。第三部分406生成以升序排序的该表格集合的群组。
另外地或可替换地,在一些实施例中,该表格集合中的每个可包括表格条目。如在本文中其它地方所讨论的那样,可计算每个表格条目的更新频率。表格条目可根据更新频率以升序顺序被组织在该表格集合的每个中。因此,在这些和其他实施例中,当循环语句根据频率变量408对该表格集合进行排序时,也可以考虑每个表格条目的更新频率。
再次参考图3A和3B,主装置104可将数据单元302分割为一个或多个复制单元308A-308C(统称为复制单元308或多个复制单元308)。数据单元302可根据更新频率范围被分割为复制单元308。例如,在第二表格304中,第一复制单元308A可以基于第一更新频率范围0-10。第二复制单元308B可基于第二更新频率范围11-20。第三复制单元308C可基于第三更新频率范围21-30。复制单元308可包括数据单元302,其中包括相应的更新频率范围内的更新频率306的一个或多个数据单元。例如,在第二表格304中,第一复制单元308A可括第一数据单元302A、第三数据单元302C以及第四数据单元302D;第二复制单元308B可包括第二数据单元302B和第五数据单元302E;以及第三复制单元308C可包括第七数据单元302G和第六数据单元302F。
此外,在一些实施例中,主装置104可根据阈值分割复制单元308。包括在阈值之上的更新频率范围的复制单元308可被指定为高更新频率复制单元。相似地,包括在阈值之下的更新频率范围的复制单元308可被指定为低更新频率复制单元。
在第二表格304中,被标记为“高/低更新频率复制单元310”的栏可表示复制单元308是高更新频率复制单元310B还是低更新频率复制单元310A。例如,在第二表格304中,低更新频率复制数据单元310A和高更新频率数据单元310B之间的阈值可以是20或者其它合适的阈值。因此,低更新频率复制单元310A可包括第一复制单元308A和第二复制单元308B。高更新频率复制单元310B可包括第三复制单元308C。
主装置104可为复制单元308确定单元区域敏感组312。另外地或可替换地,主装置104可为被包括在复制单元308在的数据单元302确定参考图1、2A和2B讨论的区域敏感组108。单元区域敏感组312的确定可基于被包括在复制单元308中的数据单元302的历史访问模式。
单元区域敏感组312可包括一个或多个物理位置,在该物理位置中包括在复制单元308中的一个或多个数据单元302被定期地访问和/或受到用户106中的一个或多个的特别关注的。在一些实施例中,单元区域敏感组312可包括两个或更多数据单元302共同具有的主机102。在可替换实施例中,单元区域敏感组312可包括复制单元308中的所有数据单元302的物理位置中的主机102的组合。
例如在第二表格304中,被标记为“单元区域敏感组312”的栏包括用于第一复制单元308A和第二复制单元308B的单元区域敏感组312。对于属于高更新频率复制单元310B的第三复制单元308C,单元区域敏感组312可能是“不适用”。
在第二表格304中,标记为“包括在单元区域敏感组中的主机”的栏322可表示哪些主机102被包括在单元区域敏感组312中的每个中。例如,第一主机102A和第二主机102B可被包括在第一单元区域敏感组312A中。第三主机102C可被包括在第二区域敏感组312B中。
数据单元302中的一个或多个可被主装置104复制。在一些实施例中,仅仅被包括在低更新频率复制单元310A中的数据单元302可被主装置104复制。复制的数量可由包括在相应单元区域敏感组312中的主机102的数量来确定,以使得包括在相应单元中区域敏感组312中的每个主机102可接收该复制中的一个。例如,对于第一复制单元308A,第一数据单元302A的第一复制和第二复制可从第一数据单元302A被复制。在该和其他实施例,包括在高更新频率复制单元310B中的数据单元302可不被复制。
参考图3A,主装置104可将包括在低更新频率复制单元310A中的数据单元302推送到包括在相应单元区域敏感组312中的主机102。例如,主装置104可将包括在第一复制单元308A中的第一数据单元302A、第三数据单元302C以及第四数据单元302D推送到第一主机102A和第二主机102B。同样,主装置104可将第二数据单元302B和第五数据单元302E推送到第三主机102C。包括在高更新频率复制单元310B中的数据单元302可不被推送到主机102。相反,高更新频率复制单元310B可留在主装置104处。
可替换地,在一些实施例中,被包括在低更新频率复制单元310A中的数据单元302可被推送到所有主机302。在这些和其他实施例中,例如,主装置104可以不确定单元区域敏感组312。
组合地参考图1和3A,图1中的数据单元的子集114可对应于图3A中的被包括在第一复制单元308A中的数据单元302(即,第一数据单元302A、第三数据单元302C以及第四数据单元302D)。因此,第一用户106A可具有对包括在第一复制单元308A中的数据单元302的本地读取访问权限。
图1中的数据单元112可对应于被包括在图3A中的主装置104中的数据单元302。也就是说,图1中的数据单元112可对应于被包括在第一复制单元308A、第二复制单元308B以及第三复制单元308C中的数据单元302。因此,第一用户106A可具有对包括在第二复制单元308B和第三复制单元308C中的数据单元302的远程读取访问权限。
此外,第一用户106A可将写请求传递给主装置104。如果写请求是针对被包括在第一复制单元308A中的数据单元302中的一个,则主装置104可按照写请求修改被包括在第一复制单元308A中的数据单元302。主装置104此外还可在第一主机102A和第二主机102B处脱机地更新数据单元302。如果写请求是针对被包括在第三复制单元308C中的数据单元302中的一个,则主装置104可按照写请求修改被包括在第三复制单元308C中的数据单元302。然而,主装置104可实时地更新被包括在第三复制单元308C中的数据单元302。
仍然可替换地,如果写请求是针对被包括在第二复制单元308B中的数据单元302中的一个,则主装置104可按照写请求脱机地或实时地更新被包括在第二复制单元308B中的数据单元302。此外,图3A中的操作环境100B可被构件为使得第一用户106A很少修改被包括在第二复制单元308B中的数据单元302。在一些实施例中,来自第一用户106的针对被包括在第二复制单元308B中的数据单元302中的一个的写请求可触发主装置104重新评估用于数据单元302的区域敏感组108和/或用于复制单元308的单元区域敏感组312。
在一些实施例中,主装置104可定义用于每个复制单元308的复制规则。复制规则可针对每个高更新频率复制单元310B和/或针对每个低更新频率复制单元310A被定义。复制规则可定义被包括在每个复制单元308中的数据单元302怎样被更新。
在一些实施例中,主装置104可生成用于数据单元302中的一个或多个的位置列表。位置列表可表示被包括在单元区域敏感组312中的主机102。也就是说,每个位置列表可表示被包括在复制单元308之一中的一个或多个数据单元302的区域敏感组108共用的主机102。例如,如果数据单元302中的两个数据单元被包括在复制单元308之一中,但是用于这两个数据单元302的区域敏感组108是不同的,那么用于这两个数据单元302的位置列表可包括该等区域敏感组108共用的主机102。位置列表还可表示数据单元302被推送到哪些主机102。
图5示出根据本文中所述的至少某些实施例被布置的、用于分割数据以改进系统性能的示例方法500的流程图。方法500可全部或部分地由例如图1的主装置104或者更特别地由计算装置118来执行。方法500包括如由块502、504、506、508和/或510中的一个或多个所示的各种操作、功能或动作。该方法可在块502开始。
在块502(“根据数据单元的更新频率将数据项分割为所述多个数据单元”)中,数据项可被分割为多个数据单元。数据项可根据多个数据单元的更新频率被分割为这多个数据单元。在一些实施例中,数据项的分割可包括通过定义时隙窗口并记录所述多个数据单元中的每个在该时隙窗口期间被更新的次数来计算所述多个数据单元的更新频率。块502之后可跟随有块504。
在块504(“从数据单元中识别低更新频率数据单元”)中,可以识别低更新频率数据单元。更具体地说,可以从所述数据单元中识别低更新频率数据单元。块504之后可跟随有块506。
在块506(“根据低更新频率数据单元的历史访问模式为低更新频率数据单元确定区域敏感组,其中所述区域敏感组包括第一主机”),可以确定用于低更新频率数据单元的区域敏感组数据。区域敏感组可根据该低更新频率数据单元的历史访问模式被确定。该区域敏感组可包括第一主机。块506之后可跟随有块508。
在块508(“复制低更新频率数据单元”)中,可复制低更新频率数据单元。块508之后可跟随有块510。
在块510(“将被复制的低更新频率数据单元推送到第一主机”)中,被复制的低更新频率数据单元可被推送到第一主机。
本领域技术人员将认识到的是,对于本文中所公开的这种以及其它过程和方法来说,在过程和方法中所执行的功能可以以不同的顺序来实施。此外,概述的步骤和操作仅作为示例被提供,并且其中一些步骤和操作可以是可选的,可被组合成更少的步骤和操作,或可被扩展到附加的步骤和操作中,而不会有损所公开的实施例的本质。
例如,方法500可包括接收针对低更新频率数据单元的写请求。按照写请求,低更新频率数据单元可被修改。被复制的低更新频率数据单元然后可在第一主机处被脱机地更新。
另外地或可替换地,方法500可包括识别高更新频率数据单元。高更新频率数据单元可具有例如在阈值之上的更新频率。方法500还可以包括接收针对高更新频率数据单元的写请求。高更新频率数据可按照写请求被修改。高更新频率数据单元可实时地被更新。
另外地或可替换地,方法500可包括根据数据颗粒度定义数据项。数据颗粒度可以由应用类别来确定。在一些实施例中,应用类别包括表格、数据库、两个或更多表格的组合、两个或更多数据库的组合或一个或多个表格和一个或多个数据库的组合。在一些实施例中,数据项可根据尺寸被碎化为多个子数据项。数据项可在将该数据项分割到多个数据单元中之前被碎化。
另外地或可替换地,方法500可包括根据更新频率范围将数据项分割为多个复制单元。在一些实施例中,复制单元包括具有在所述更新频率范围之一内的更新频率的数据单元的子集。可以为具有低于阈值的更新频率范围的复制单元确定单元区域敏感组。单元区域敏感组可包括主机集合。此外,可生成表示被包括在该单元区域敏感组中的该主机集合的位置列表。方法500可以额外地包括将该数据单元的子集推送到该主机集合。
图6示出根据本文中所述的至少某些实施例被布置的、用于将数据分割为复制单元的示例方法600的流程图。方法600可全部或部分地由例如图1的主装置104或者更特别地由计算装置118来执行。方法600包括如由块602、604、606、608和/或610中的一个或多个所示的各种操作、功能或动作。方法600可在块602开始。
在块602(“计算包括在数据项中的数据单元的更新频率”)中,可以计算被包括在数据项中的数据单元的更新频率。块602之后可跟随有块604。
在块604(“根据所述数据单元的历史访问模式为所述数据单元确定区域敏感组,其中每个区域敏感组包括主机集合”)中,可以为所述数据单元确定区域敏感组。区域敏感组可基于数据单元的历史访问模式。在一些实施例中,每个区域敏感组包括多个主机的集合。块604之后可跟随有块606。
在块606(“将数据单元分割为低更新频率复制单元,其中每个低更新频率复制单元包括:数据单元的子集(每个具有低于阈值的更新频率)以及表示所述数据单元的子集的区域敏感组共用的所述主机的子集的位置列表”)中,所述数据单元可被分割为低更新频率复制单元。每个低更新频率复制单元可包括所述数据单元的子集。数据单元的每个子集可包括低于阈值的更新频率。此外,数据单元的每个子集可包括可表示该数据单元的子集的区域敏感组共用的多个主机的子集的位置列表。
在某些实施例中,数据单元可被分割为高更新频率复制单元。每个高更新频率复制单元可包括所述数据单元的子集。被包括在高更新频率复制单元中的数据单元的该子集可具有在阈值之上的更新频率。块606之后可跟随有块608。
在块608(“复制被包括在低更新频率复制单元中的数据单元的子集”)中,可以复制被包括在低更新频率复制单元中的数据单元。块608之后可跟随有块610。
在块610(“将被复制的数据单元的子集推送到主机的子集”)中,被复制的数据单元的子集可被推送到所述多个主机的子集。
另外地或可替换地,方法600可包括针对每个高更新频率复制单元和/或针对每个低更新频率复制单元定义复制规则。被包括在高更新频率复制单元和低更新频率复制单元中的每个中的数据单元的子集可根据相应的复制规则被更新。
在一些实施例中,主机和/或主装置可被配置为提供各种读取访问和写访问。例如,主机可被配置为实现对被推送到其的数据单元的本地读取访问。另外地或可替换地,主装置被配置为实现对数据项的远程读取访问以及接收用以对数据单元之一进行写入的写请求。当写请求是针对被包括在低更新频率复制单元中的一个或多个中的数据单元时,主装置可被配置为按照写请求修改数据单元并在主机的子集处脱机地更新被复制的数据单元。当针对被包括在高更新频率复制单元中一个或多个中的数据单元的写请求被收到时,主装置可被配置为实时地更新数据单元。
本文中所公开的一些实施例包括具有存储于其上的计算机可读指令的计算机可读存储介质,所述计算机可读指令可被计算装置执行以执行包括在图5的方法500中的操作,诸如由图5的块502-510中的一个或多个示出的操作和/或它们的变体。可选地或可替换地,计算装置可以执行被包括在图6的方法600中的操作,诸如由块602-610中的一个或多个示出的操作和/或它们的变体。计算机可读存储介质可被包括在例如图1的主装置104和/或计算装置108中。
图7是示出根据本文中所述的至少某些实施例被布置的、被布置用于分割数据以改进系统性能的示例计算装置700的框图。计算装置700可被包括在例如图1的主装置104中。在非常基本的配置702中,计算装置700通常包括一个或多个处理器704和系统存储器706。存储器总线708可被用于处理器704和系统存储器706之间的通信。
取决于期望的配置,处理器704可以是任何类型,包括但不限于微处理器机(μP)、微控制器(μC)、数字信号处理器(DSP)或它们的任何组合。处理器704可包括一个或多个等级的高速缓存,诸如等级一的高速缓存710和等级二的高速缓存712、处理器核714和寄存器716。示例处理器核714可包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或它们的任何组合。示例存储器控制器718也可与处理器704一起被使用,或在一些实施方式中存储器控制器718可以是处理器704的内部部分。
取决于期望的配置,系统存储器706可以是任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或它们的任何组合。系统存储器706可包括OS 720、一个或多个应用722以及程序数据724。应用722可包括被布置用于执行如本文中所述的功能、包括针对图4的伪代码400所描述的那些功能的数据单元排序算法726。程序数据724可包括可被例如如本文中所述的数据单元排序算法726分割或以其它方式被运算的一个或多个数据单元728。在一些实施例中,应用722可被布置为利用程序数据724工作运行在OS 720上,以使得可以提供如本文中所述的用于分割数据的方法(诸如图5和6的方法500和600)。该所述的基本配置702在图7中通过内部虚线区域内的那些部件而被示出。
计算装置700可具有其它特征或功能以及用于促进基本配置702和任何所需的装置和接口之间的通信的附加接口。例如,总线/接口控制器730可被用来促进基本配置702与一个或多个数据存储装置732之间经由存储接口总线734的通信。数据存储装置732可以是可移除存储装置736、不可移除存储装置738或它们的组合。可移除存储装置和不可移除存储装置的示例举几个例子来说包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘装置、诸如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器。示例计算机存储介质可包括在信息存储的任何方法或技术中被实施的易失性和非易失性、可移除和不可移除的介质,诸如计算机可读指令、数据结构、程序模块或其它数据。
系统存储器706、可移除存储装置736和不可移除存储装置738是计算机存储介质的示例。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储装置或可用于存储期望的信息以及可被计算装置700访问的任何其它介质。任何这样的计算机存储介质可以是计算装置700的一部分。
计算装置700也可包括用于促进从各种接口装置(例如,输出装置742、外围接口744和通信装置746)到基本配置702的经由总线/接口控制器730的通信的接口总线740。示例输出装置742包括图形处理单元748和音频处理单元750,其可被配置为与诸如显示器或扬声器的各种外部装置经由一个或多个A/V端口752进行通信。示例外围接口744包括串行接口控制器754或并行接口控制器756,其可被配置为与诸如输入装置(例如,键盘、鼠标、笔、声音输入装置,触摸输入装置等)或其它外围装置(例如,打印机、扫描仪等)的外部装置经由一个或多个I/O端口758进行通信。示例通信装置746包括网络控制器760,其可被布置为促进与一个或多个其它计算装置762经由一个或多个通信端口764在网络通信链路上的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以被体现为计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据,并且可包括任何信息递送介质。“调制数据信号”可以是具有其特性集合中的一个或多个或者被更改以便对信号中的信息进行编码的信号。举例来说,而非限制,通信介质可包括诸如有线网络或有线直接连接的有线介质、诸如声学、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文中所使用的术语计算机可读介质可包括存储介质和通信介质两者。
计算装置700也可被实施作为小型便携式(或移动)电子装置的一部分,所述电子装置诸如蜂窝电话、个人数据助理(PDA)、个人媒体播放器装置、无线网表装置、个人耳机装置、专用装置或包括以上功能中的任何功能的混合装置。计算装置700也可被实施作为包括笔记本计算机和非笔记本计算机配置两者的个人计算机。
在本文中所述的特定实施例(意图使其作为各方面的例证)方面本公开不应当是受限的。如对本领域技术人员来说将显而易见的,在不脱离其精神和范围的情况下可以做出许多修改和改变。通过前述描述,本公开范围内的功能等价的方法和设备(除本文中所列举的那些之外)对于本领域技术人员来说将是显而易见的。意图使这样的修改和改变落在所附权利要求的范围内。本公开仅由所附权利要求的各项以及这样的权利要求所赋予的等同物的全部范围一起来限定。应当理解,本公开并不限于特定的方法、试剂、化合物成分或生物系统(当然其可以变化)。还应当理解,本文中所使用的术语仅仅是为了描述特定实施例的目的,且并不意图是限制性的。
关于基本上任何复数和/或单数术语在本文中的使用,本领域技术人员可以按照其适用于的情景和/或应用而从复数转化到单数和/或从单数转化到复数。为了清楚起见,在本文中可能明确地阐述了各种单数/复数变换。
本领域技术人员将理解的是,总之,本文中且尤其是所附权利要求(例如所附权利要求的主体)中所使用的术语通常意图是“开放的”术语(例如术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”,等等)。本领域技术人员将进一步理解的是,如果所引入的权利要求叙述的特定数字是有意的,这样的意图将被明确叙述在权利要求中,并且在没有这样的叙述的情况下不存在这样的意图。例如,作为理解的辅助,下面所附的权利要求可以包含引入性短语“至少一个”和“一个或多个”的使用以引入权利要求叙述。然而,这样的短语的使用不应被解释为暗示着通过不定冠词“一”或“一个”引入权利要求叙述将包含这样引入的权利要求叙述的任何特定权利要求限定到包含只有一个这样的叙述的实施例,即使当该同一权利要求包括引入性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时也是这样(例如,“一”和/或“一个”应当被解释为意味着“至少一个”或“一个或多个”);对于用来引入权利要求叙述的定冠词的使用来说情况是同样的。此外,即使明确记载了所引入的权利要求叙述的特定数字,本领域技术人员也将认识到,这样的记载应当被解释为意味着至少所记载的数字(例如,在没有其它修饰的情况下,“两个叙述”的直率叙述意味着至少两个叙述或者两个或更多叙述)。此外,在其中使用类似于“A、B和C等中的至少一个”的惯例的那些实例中,通常这样的构造意图是本领域技术人员将理解该惯例的意义(例如,“具有A、B和C等中的至少一个的系统”将包括但不限于单独具有A、单独具有B、单独具有C、具有A和B一起、具有A和C一起、具有B和C一起以及/或者具有A、B和C一起等的系统)。在其中使用类似于“A、B或C等中的至少一个”的惯例的那些实例中,通常这样的构造意图是本领域技术人员将理解该惯例的意义(例如,“具有A、B或C等中的至少一个的系统”将包括但不限于单独具有A、单独具有B、单独具有C、具有A和B一起、具有A和C一起、具有B和C一起以及/或者具有A、B和C一起等的系统)。本领域技术人员将进一步理解的是,实际上任何转折性词语和/或提供两个或更多替换术语的短语无论是在说明书、权利要求中还是在附图中都应当被理解为构想包括这些术语中的一个、这些术语中的任一个或这些术语两个的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
此外,在就马库什群组描述公开的特征或方面的情况下,本领域技术人员将认识到,由此也就马库什群组的任何单个成员或成员的子群组描述了公开。
如本领域技术人员将理解的,出于任何和所有目的,诸如在提供书面描述方面,本文中所公开的所有范围也涵盖任何和所有可能的子范围以及其子范围的组合。任何所列出的范围可被容易地理解为足以描述该范围并允许该同一范围被分解为至少相等的两半、三份、四份、五份、十份,等等。作为非限制性示例,本文中所讨论的每个范围可以容易地被分解成欣然地于此被分散为下三分之一、中三分之一和上三分之一,等等。如也将被本领域技术人员理解的那样,诸如“高达”“至少”等的所有语言包括所述的数字并且指的是随后可以如上面所讨论的那样被分解成子范围的范围。最后,如本领域技术人员将理解的,范围包括每个单个成员。因此,例如,具有1-3个单元的群组指代具有1个、2个或3个单元的群组。相似地,具有1-5个单元的群组指代具有1个、2个、3个、4个或5个单元的群组,以此类推。
根据前述内容,将认识到的是,已经出于例证的目的在本文中描述了本公开的各种实施例,并且可以进行各种修改而不脱离本公开的范围和精神。因此,本文中所公开的各种实施例并不意图是限制性的,其中真实范围和精神由下面的权利要求来指明。
Claims (20)
1.一种方法,包括:
根据多个数据单元的更新频率将数据项分成所述多个数据单元;
从所述多个数据单元中识别低更新频率数据单元;
根据所述低更新频率数据单元的历史访问模式为所述低更新频率数据单元确定区域敏感组,其中所述区域敏感组包括第一主机;
复制所述低更新频率数据单元;以及
将被复制的所述低更新频率数据单元推送到第一主机。
2.根据权利要求1所述的方法,还包括:
接收针对所述低更新频率数据单元的写请求;
按照所述写请求修改所述低更新频率数据单元;以及
在所述第一主机处脱机地更新被复制的所述低更新频率数据单元。
3.根据权利要求2所述的方法,还包括:
进一步识别高更新频率数据单元;
接收针对所述高更新频率数据单元的写请求;以及
实时地更新所述高更新频率数据单元。
4.根据权利要求1所述的方法,其中将数据项分成所述多个数据单元包括计算所述多个数据单元的所述更新频率。
5.根据权利要求4所述的方法,其中计算所述更新频率包括:
定义时隙窗口;以及
记录所述多个数据单元中的每个在所述时隙窗口期间被更新的次数。
6.根据权利要求1所述的方法,还包括:根据数据颗粒度定义所述数据项,其中所述数据颗粒度是通过应用类别被确定的。
7.根据权利要求6所述的方法,其中所述应用类别包括以下其中之一:表格、数据库、两个或更多表格的组合、两个或更多数据库的组合,或者一个或多个表格和一个或多个数据库的组合。
8.根据权利要求1所述的方法,还包括:
在将所述数据项分成所述多个数据单元之前,根据规格将所述数据项碎化为多个子数据项。
9.根据权利要求1所述的方法,还包括:
根据更新频率范围将所述数据项分成多个复制单元,其中所述多个复制单元中的每个包括具有在所述更新频率范围之一内的更新频率的数据单元的子集;
对于具有低于阈值的更新频率范围的所述数据单元的子集中的所述复制单元中的每个来说:
确定包括一组主机的单元区域敏感组,
生成表示被包括在所述单元区域敏感组中的所述主机组的位置列表,以及
将所述数据单元的子集推送到所述主机组。
10.一种具有存储于其上的计算机可读指令的计算机可读存储介质,所述计算机可读指令可被计算装置执行以执行操作,所述操作包括:
从包括在数据项中的多个数据单元中分出低更新频率数据单元;
根据所述低更新频率数据单元的历史访问模式为所述低更新频率数据单元确定区域敏感组,其中所述区域敏感组包括主机的子集;
复制所述低更新频率数据单元;以及
将被复制的低更新频率数据单元推送到主所述机的子集。
11.根据权利要求10所述的计算机可读存储介质,其中所述操作还包括:
接收针对包括在所述多个数据单元中的数据单元的写请求;
按照所述写请求修改所述数据单元;以及
当修改的所述数据单元包括所述低更新频率数据单元时,在所述主机的子集处脱机地更新所述被复制的低更新频率数据单元,以及
当修改的所述数据单元包括除所述低更新频率数据单元之外的数据单元时,实时地更新该数据单元。
12.根据权利要求10所述的计算机可读存储介质,其中所述低更新频率数据单元包括具有小于阈值的更新频率的所述多个数据单元之一。
13.根据权利要求10所述的计算机可读存储介质,其中所述操作还包括:
计算所述多个数据单元的更新频率,包括,针对所述多个数据单元中的每个进行以下操作:
定义时隙窗口;以及
记录相应的数据单元在所述时隙窗口期间被更新的次数;以及
根据所述多个数据单元的所述更新频率将所述数据项分成所述多个数据单元。
14.一种系统,包括:
位于多个位置处的多个主机;以及
主装置,其被配置为与所述主机进行通信,所述主装置包括计算装置和具有存储于其上的计算机可读指令的计算机可读存储媒介,所述计算机可读指令可被所述计算装置执行以执行操作,所述操作包括:
计算被包括在数据项中的数据单元的更新频率;
基于所述数据单元的历史访问模式确定用于所述数据单元的区域敏感组,其中所述区域敏感组中的每个包括所述多个主机的集合;
将所述数据单元分成低更新频率复制单元,其中每个所述低更新频率复制单元包括:
所述数据单元的子集,均具有低于阈值的更新频率,以及
位置列表,表示所述数据单元的子集的所述区域敏感组共用的所述多个主机的子集;
复制包括在所述低更新频率复制单元中的所述数据单元的子集;以及
将所述被复制的数据单元的子集推送到所述多个主机的子集。
15.根据权利要求14所述的系统,其中所述操作还包括:
将所述数据单元分成高更新频率复制单元,其中所述高更新频率复制单元中的每个包括均具有在所述阈值之上更新频率的所述数据单元的子集。
16.根据权利要求15所述的系统,其中所述操作还包括:
针对所述高更新频率复制单元中的每个和针对低更新频率复制单元中的每个定义复制规则;
根据相应的所述复制规则更新被包括在所述高更新频率复制单元和所述低更新频率复制单元中的每个中的所述数据单元的子集。
17.根据权利要求14所述的系统,其中所述多个主机中的每个被配置为实现对被推送到该主机的数据单元的本地读取访问。
18.根据权利要求17所述的系统,其中所述主装置被配置为实现对所述数据项的远程读取访问以及接收对所述数据单元之一进行写入的写请求。
19.根据权利要求18所述的系统,其中:
当所述写请求是针对被包括在所述低更新频率复制单元中的一个或多个中的数据单元时,所述主装置被配置为按照所述写请求修改所述数据单元并在所述主机的子集处脱机地更新被复制的数据单元。
20.根据权利要求19所述的系统,其中:
当针对被包括在所述高更新频率复制单元中的一个或多个中的数据单元的写请求被收到时,所述主装置可被配置为实时地更新所述数据单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/079407 WO2014019133A1 (en) | 2012-07-31 | 2012-07-31 | Parting data to improve system performance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104508636A true CN104508636A (zh) | 2015-04-08 |
CN104508636B CN104508636B (zh) | 2017-10-31 |
Family
ID=50027064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280075100.XA Expired - Fee Related CN104508636B (zh) | 2012-07-31 | 2012-07-31 | 数据管理设备、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9792313B2 (zh) |
CN (1) | CN104508636B (zh) |
WO (1) | WO2014019133A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568645A (zh) * | 2021-08-11 | 2021-10-29 | 网易(杭州)网络有限公司 | 软件更新方法、装置、电子设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792339B2 (en) * | 2014-01-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Automatic content replication |
CN113986115B (zh) * | 2020-07-27 | 2024-05-31 | 伊姆西Ip控股有限责任公司 | 用于复制数据的方法、电子设备和计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5924092A (en) * | 1997-02-07 | 1999-07-13 | International Business Machines Corporation | Computer system and method which sort array elements to optimize array modifications |
JP2000010862A (ja) * | 1998-06-23 | 2000-01-14 | Hitachi Software Eng Co Ltd | キャッシュメモリ制御方法 |
CN101533335A (zh) * | 2009-04-09 | 2009-09-16 | 杭州华三通信技术有限公司 | 磁盘存储系统以及磁盘存储控制方法和装置 |
US20090240870A1 (en) * | 2008-03-21 | 2009-09-24 | Kabushiki Kaisha Toshiba | Storage apparatus with a plurality of nonvolatile memory devices |
US20110071988A1 (en) * | 2007-10-09 | 2011-03-24 | Cleversafe, Inc. | Data revision synchronization in a dispersed storage network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703807B1 (ko) * | 2006-02-17 | 2007-04-09 | 삼성전자주식회사 | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 |
US7877358B2 (en) * | 2006-11-21 | 2011-01-25 | Microsoft Corporation | Replacing system hardware |
CN100430902C (zh) * | 2006-12-13 | 2008-11-05 | 天津理工大学 | 一种支持边服务边恢复的分布式实时数据库故障恢复方法 |
JP5544897B2 (ja) * | 2010-01-22 | 2014-07-09 | 富士通株式会社 | 記憶装置、制御装置および記憶装置の制御方法 |
CN102955824A (zh) * | 2011-08-31 | 2013-03-06 | 国际商业机器公司 | 用于保密搜索的方法、保密搜索设备、计算机设备 |
JP5919825B2 (ja) * | 2012-01-05 | 2016-05-18 | 富士通株式会社 | データ処理方法、分散処理システムおよびプログラム |
-
2012
- 2012-07-31 CN CN201280075100.XA patent/CN104508636B/zh not_active Expired - Fee Related
- 2012-07-31 US US14/114,087 patent/US9792313B2/en not_active Expired - Fee Related
- 2012-07-31 WO PCT/CN2012/079407 patent/WO2014019133A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5924092A (en) * | 1997-02-07 | 1999-07-13 | International Business Machines Corporation | Computer system and method which sort array elements to optimize array modifications |
JP2000010862A (ja) * | 1998-06-23 | 2000-01-14 | Hitachi Software Eng Co Ltd | キャッシュメモリ制御方法 |
US20110071988A1 (en) * | 2007-10-09 | 2011-03-24 | Cleversafe, Inc. | Data revision synchronization in a dispersed storage network |
US20090240870A1 (en) * | 2008-03-21 | 2009-09-24 | Kabushiki Kaisha Toshiba | Storage apparatus with a plurality of nonvolatile memory devices |
CN101533335A (zh) * | 2009-04-09 | 2009-09-16 | 杭州华三通信技术有限公司 | 磁盘存储系统以及磁盘存储控制方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568645A (zh) * | 2021-08-11 | 2021-10-29 | 网易(杭州)网络有限公司 | 软件更新方法、装置、电子设备和存储介质 |
CN113568645B (zh) * | 2021-08-11 | 2023-09-12 | 网易(杭州)网络有限公司 | 软件更新方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014019133A1 (en) | 2014-02-06 |
US9792313B2 (en) | 2017-10-17 |
US20140337288A1 (en) | 2014-11-13 |
CN104508636B (zh) | 2017-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220067587A1 (en) | Root cause discovery engine | |
CN106796522B (zh) | 用于更新源代码文件的系统和方法 | |
US9778967B2 (en) | Sophisticated run-time system for graph processing | |
US9406023B2 (en) | System recommendations based on incident analysis | |
CN102193810A (zh) | 模块间内联候选标识 | |
CN103970604A (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
CN104216662B (zh) | 用于跨远程复制关系的卷布置的方法和系统 | |
US10248919B2 (en) | Task assignment using machine learning and information retrieval | |
US20200136987A1 (en) | Cloud resource management using externally-sourced data | |
CN104079613A (zh) | 用于多租户间共享应用程序对象的方法和系统 | |
US20210374558A1 (en) | Intelligent application library management | |
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
CN102203757B (zh) | 用于冻结对象的类型描述符管理 | |
CN112328592A (zh) | 数据存储方法、电子设备及计算机可读存储介质 | |
CN104508636A (zh) | 分割数据以改进系统性能 | |
CN105095392A (zh) | 一种数据集市间共享数据的方法及装置 | |
US20220100558A1 (en) | Machine learning based runtime optimization | |
CN104216834A (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
US11610075B2 (en) | Hierarchical rule clustering | |
CN113419752A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US20170132222A1 (en) | Document link migration | |
CN112148461A (zh) | 应用的调度方法、装置 | |
US10523774B2 (en) | Method and system for personalizing notification time within contents service | |
CN112348298A (zh) | 设计师管理方法、装置、电子终端、及存储介质 | |
US20230214716A1 (en) | Learning device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171031 Termination date: 20200731 |