CN108733832A - 有向无环图的分布式存储方法 - Google Patents

有向无环图的分布式存储方法 Download PDF

Info

Publication number
CN108733832A
CN108733832A CN201810520856.XA CN201810520856A CN108733832A CN 108733832 A CN108733832 A CN 108733832A CN 201810520856 A CN201810520856 A CN 201810520856A CN 108733832 A CN108733832 A CN 108733832A
Authority
CN
China
Prior art keywords
node
cutting
subgraph
partition holding
acyclic graph
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
Application number
CN201810520856.XA
Other languages
English (en)
Other versions
CN108733832B (zh
Inventor
潘洪安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ake (Tianjin) Big Data Technology Co.,Ltd.
Original Assignee
Beijing Ah Ke Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Ah Ke Technology Co Ltd filed Critical Beijing Ah Ke Technology Co Ltd
Priority to CN201810520856.XA priority Critical patent/CN108733832B/zh
Publication of CN108733832A publication Critical patent/CN108733832A/zh
Application granted granted Critical
Publication of CN108733832B publication Critical patent/CN108733832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机信息处理技术领域,具体提供了一种有向无环图的分布式存储方法,旨在解决如何存储大规模有向无环图的技术问题。为此目的,本发明提供的有向无环图的分布式存储方法可以根据预设的存储分区的存储容量,选择性地对可切分子图进行切分。以及将不可切分子图存储至一个存储分区,根据切分结果将可切分子图存储至一个或多个存储分区。基于上述步骤,本发明可以对有向无环图进行分布式存储,从而降低了存储服务器的内存压力,有效解决了大规模有向无环图的存储问题。

Description

有向无环图的分布式存储方法
技术领域
本发明涉及计算机信息处理技术领域,具体涉及一种有向无环图的分布式存储方法。
背景技术
有向无环图(Directed Acyclic Graph,DAG)指的是无法从任意一个顶点出发经过若干条边回到该顶点的有向图,有向无环图由节点和有向边集合形成,每个边将一个节点连接到另一个节点。
有向无环图适用于工作流调度控制、网络拓扑流量分析和组织架构管理等多种应用场景。但是,当应用场景包含的节点数据或关联关系较多时,单机存储系统将无法满足有向无环图的存储需求。例如,全国有7300万企业单位,以有向无环图来表示企业之间的投资、合作和收购等企业关系,每个企业的信息为10k字节,这个有向无环图的存储规模为:7300万×10k=730G,已经超出了普通服务器的内存存储能力。
发明内容
为了解决现有技术中的上述问题,即为了解决如何存储大规模有向无环图的技术问题。为此目的,本发明提供了一种有向无环图的分布式存储方法,该方法可以包括如下步骤:
获取有向无环图的可切分子图和不可切分子图;
根据预设的存储分区的存储容量,选择性地对所述可切分子图进行切分;
将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区。
进一步地,本发明提供的一个优选技术方案是:
“获取有向无环图的可切分子图和不可切分子图”的步骤包括:
根据所述有向无环图中第一节点对应的有向边反向搜索第二节点,将所述第二节点与首个搜索到的第一节点构成的子图作为所述不可切分子图,将所述有向无环图中不可切分子图之外的子图作为可切分子图;
其中,所述第一节点是入度大于1的节点,所述第二节点是入度等于1且出度大于1的节点。
进一步地,本发明提供的一个优选技术方案是:
所述不可切分子图的数量是多个;“将所述不可切分子图存储至一个存储分区”的步骤包括:
根据预设的存储分区的存储容量,将多个所述不可切分子图存储至一个或多个存储分区。
进一步地,本发明提供的一个优选技术方案是:
“根据预设的存储分区的存储容量,选择性地对所述可切分子图进行切分”的步骤包括:
若所述存储分区的存储容量小于所述可切分子图所需的存储容量,则根据所述存储分区的存储容量选取所述可切分子图中的可切分节点,并且根据所述可切分节点对所述可切分子图进行切分;
若所述存储分区的存储容量大于等于所述可切分子图所需的存储容量,则不对所述可切分子图进行切分;
其中,所述可切分节点是入度小于等于1的节点。
进一步地,本发明提供的一个优选技术方案是:
“根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤包括:
若所述可切分子图被切分,则将切分后得到的每个子图分别存储至一个存储分区;
若所述可切分子图未被切分,则将所述可切分子图存储至一个存储分区。
进一步地,本发明提供的一个优选技术方案是:
“将切分后得到的每个子图分别存储至一个存储分区”的步骤包括:
将根据某个可切分节点对所述可切分子图进行切分得到的第一子图和第二子图分别存储至一个存储分区;
其中,所述第一子图中所述某个可切分节点的入度是0,所述第二子图中所述某个可切分节点的出度是0。
进一步地,本发明提供的一个优选技术方案是:
在“将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤之后,所述方法还包括:
根据所述有向无环图的新增数据对相应存储分区的存储数据进行更新;所述新增数据包括新增有向边和/或新增节点及其对应的有向边。
进一步地,本发明提供的一个优选技术方案是:
“根据所述有向无环图的新增数据对相应存储分区的存储数据进行更新”的步骤包括:
根据预设的节点索引信息和特定有向边对应的源节点的节点标识,获取所述节点标识对应的存储分区标识;
将所述新增数据存储至所述存储分区标识所对应的存储分区,并对所述节点索引信息进行更新;
其中,所述节点索引信息包括所述有向无环图中每个节点的节点标识以及每个节点标识对应的存储分区标识、节点入度和节点出度;所述特定有向边是所述新增有向边或新增节点对应的有向边。
进一步地,本发明提供的一个优选技术方案是:
当所述源节点是切分节点时,在“将所述新增数据存储至所述存储分区标识所指定的存储分区”的步骤之前,所述方法还包括:
判断是否成功获取到所述存储分区标识,若否则按照下式所示的方法重新获取存储分区标识:
id=(hash(v.key)%N+1)%N
其中,所述切分节点是对可切分子图进行切分时使用的可切分节点;所述v.key是源节点v的节点标识,所述N是存储分区标识id 所指定的存储分区中的节点总数,所述hash表示散列函数,所述%表示取余运算。
进一步地,本发明提供的一个优选技术方案是:
当所述源节点不是切分节点时,在“将所述新增数据存储至所述存储分区标识所指定的存储分区”的步骤之前,所述方法还包括:
判断是否成功获取到所述存储分区标识,若否则按照下式所示的方法重新获取存储分区标识:
id=hash(v.key)%N
其中,所述切分节点是对可切分子图进行切分时使用的可切分节点;所述v.key是源节点v的节点标识,所述N是存储分区标识id 所指定的存储分区中的节点总数,所述hash表示散列函数,所述%表示取余运算。
进一步地,本发明提供的一个优选技术方案是:
“将所述新增数据存储至所述存储分区标识所指定的存储分区,并对所述节点索引信息进行更新”的步骤包括:
若所述源节点是切分节点,则获取所述源节点对应的第一子图所在的存储分区的节点索引信息,并将所获取的节点索引信息的节点出度加1;
若所述源节点不是切分节点,则将相应存储分区的节点索引信息的节点出度加1。
进一步地,本发明提供的一个优选技术方案是:
在“将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤之后,所述方法还包括:
根据预设的节点索引信息和所述有向无环图中某个节点的节点标识,获取所述节点标识对应的存储分区标识;
根据所述存储分区标识获取相应的存储分区,从而在所述存储分区中搜索到所述某个节点所指向的节点。
与最接近的现有技术相比,上述技术方案至少具有如下有益效果:
本发明提供的有向无环图的分布式存储方法主要包括如下步骤:首先,根据预设的存储分区的存储容量,选择性地对可切分子图进行切分。然后,将不可切分子图存储至一个存储分区,根据切分结果将可切分子图存储至一个或多个存储分区。基于上述步骤,可以对有向无环图进行分布式存储,从而降低了存储服务器的内存压力,有效解决了大规模有向无环图的存储问题。
附图说明
图1是本发明实施例中一种有向无环图的分布式存储方法的主要步骤示意图;
图2是本发明实施例中一种不可切分子图的示意图;
图3是本发明实施例中一种可切分子图的示意图;
图4是本发明实施例中根据可切分节点C对图3所示的可切分子图进行切分后得到的第一子图和第二子图的示意图;
图5是本发明实施例中一种有向无环图的分布式存储系统的主要结构示意图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
下面结合附图,对本发明提供的一种有向无环图的分布式存储方法进行说明。
参阅附图1,图1示例性示出了本实施例中有向无环图的分布式存储方法的主要步骤。如图1所示,本实施例中可以按照如下步骤对有向无环图进行分布式存储:
步骤S101:获取有向无环图的可切分子图和不可切分子图。
具体地,本实施例中可以按照如下步骤获取有向无环图的可切分子图和不可切分子图:
根据有向无环图中第一节点对应的有向边反向搜索第二节点,将第二节点与首个搜索到的第一节点构成的子图作为不可切分子图,将有向无环图中不可切分子图之外的子图作为可切分子图。
在本实施例中,第一节点是入度大于1的节点,第二节点是入度等于1且出度大于1的节点。
参阅附图2,图2示例性示出了本实施例中一种有向无环图的不可切分子图。如图2所示,本实施例中有向无环图包括节点A~节点 H,节点H是第一节点,节点B和节点C是第二节点。根据节点H对应的有向边反向搜索到的首个第二节点是节点B,节点B、节点D、节点E和节点H构成的子图就是不可切分子图。
步骤S102:根据预设的存储分区的存储容量,选择性地对可切分子图进行切分。其中,存储分区可以是能够保存数据的设备,如存储器或服务器等。具体地,本实施例中可以按照如下步骤对可切分子图进行切分:
首先,判断存储分区的存储容量是否小于可切分子图所需的存储容量。
然后,根据判断结果选择性地对可切分子图进行切分:
当存储分区的存储容量小于可切分子图所需的存储容量时根据存储分区的存储容量选取可切分子图中的可切分节点,并且根据可切分节点对可切分子图进行切分。本实施例中可切分节点指的是入度小于等于1的节点,相应地不可切分节点指的是入度大于1的节点。
当存储分区的存储容量大于等于可切分子图所需的存储容量时不对可切分子图进行切分。
步骤S103:将不可切分子图存储至一个存储分区,根据切分结果将可切分子图存储至一个或多个存储分区。
在本实施例的一个优选实施方案中,不可切分子图的数量可以是多个,此时可以根据预设的存储分区的存储容量,将多个不可切分子图存储至一个或多个存储分区。例如,不可切分子图的数量是三个,根据存储分区的存储容量,可以将三个不可切分子图分别存储至一个存储分区,也可以将三个不可切分子图均存储至一个存储分区,还可以将两个不可切分子图存储至一个存储分区,将第三个不可切分子图存储至另一个存储分区。
在本实施例中,可以按照如下步骤对可切分子图进行存储:若可切分子图被切分,则将切分后得到的每个子图分别存储至一个存储分区;若可切分子图未被切分,则将可切分子图存储至一个存储分区。
具体地,本实施例中可以按照如下步骤将切分后得到的每个子图分别存储至一个存储分区:将根据某个可切分节点对可切分子图进行切分得到的第一子图和第二子图分别存储至一个存储分区。
在本实施例中,根据某个可切分节点对可切分子图进行切分所得到的第一子图和第二子图都包含这个可切分节点,并且在第一子图中这个可切分节点的入度是0,在第二子图中这个可切分节点的出度是0。
要说明的是,为了描述简洁,本发明将对可切分子图进行切分时所采用的可切分节点描述为“切分节点”,将对可切分子图进行切分时未采用的可切分节点以及不可切分节点描述为“非切分节点”。
参阅附图3,图3示例性示出了本实施例中一种有向无环图的可切分子图。如图3所示,本实施例中有向无环图包括节点A~节点E,节点C是可切分节点。当根据节点C对该可切分子图进行切分时切分后得到第一子图和第二子图均包含节点C。
继续参阅附图4,图4示例性示出了本实施例中根据可切分节点C对图3所示的可切分子图进行切分后得到的第一子图和第二子图。如图4所示,本实施例中第一子图包括节点A、节点B和节点C1,第二子图包括节点C2、节点D和节点E。其中,节点C1和节点C2分别表示图3所示有向无环图中可切分节点C,即“C1”和“C2”仅是为了区分第一子图和第二子图中的可切分节点C。
进一步地,本实施例中图1所示的有向无环图的分布式存储方法还可以根据有向无环图的新增数据对相应存储分区的存储数据进行更新。在本实施例中,新增数据可以包括新增有向边和/或新增节点及其对应的有向边。
具体地,可以按照如下步骤更新存储分区的存储数据进:
步骤S201:根据预设的节点索引信息和特定有向边对应的源节点的节点标识,获取节点标识对应的存储分区标识。
在本实施例中,特定有向边是新增有向边或新增节点对应的有向边。节点索引信息可以包括有向无环图中每个节点的节点标识以及每个节点标识对应的存储分区标识、节点入度和节点出度。节点索引信息可以是“节点标识→(存储分区,节点入度,节点出度)”。
例如,节点索引信息“v1→(id1,0,3)”表示节点v1存储在第id1个存储分区中且节点入度和节点出度分别是0和3。由前述可知,对可切分子图进行切分时“切分节点”会存储在切分得到的第一子图和第二子图对应的存储分区中,而节点v1仅存储在一个存储分区,因此节点v1是“非切分节点”。
节点索引信息“v2→(id2,1,3)”表示节点v2存储在第 id2个存储分区中且节点入度和节点出度分别是1和3。同时,节点v2 是“非切分节点”。
节点索引信息“v3→(id31,1,0),(id31,0,2)”表示节点v3分别存储在第id31和id32个存储分区中,并且在第id31个存储分区中节点v3的节点入度和节点出度分别是1和0,在第id32个存储分区中节点v3的节点入度和节点出度分别是0和2。同时,节点v3是“切分节点”。
步骤S202:判断特定有向边对应的源节点是否为切分节点:
若源节点是“切分节点”,则继续判断是否成功获取到存储分区标识,如果没有获取到存储分区标识则按照下式(1)所示的方法重新获取存储分区标识:
id=(hash(v.key)%N+1)%N (1)
公式(1)中各参数含义为:
v.key是源节点v的节点标识,N是存储分区标识id所指定的存储分区中的节点总数,hash表示散列函数,%表示取余运算。
若源节点不是“切分节点”,则继续判断是否成功获取到存储分区标识,如果没有获取到存储分区标识则按照下式(2)所示的方法重新获取存储分区标识:
id=hash(v.key)%N (2)
公式(2)中各参数的含义与公式(1)中相应参数的含义相同,为了描述简洁,在此不再赘述。
在本实施例中,源节点指的是有向边的发出节点。如图2所示,针对节点A与节点B之间的有向边,节点A和节点B分别是源节点和目的节点。针对节点B与节点D之间的有向边,节点B和节点D分别是源节点和目的节点。
步骤S203:将新增数据存储至存储分区标识所指定的存储分区,并对节点索引信息进行更新。具体地,本实施例中可以按照如下步骤对节点索引信息进行更新:
若源节点是“切分节点”,则获取源节点对应的第一子图所在的存储分区的节点索引信息,并将所获取的节点索引信息的节点出度加1。例如,源节点对应的节点索引信息是v3→(id31,1,0),(id31,0,2),则更新后的节点索引信息是 v3→(id31,1,0),(id31,0,3)。
若源节点不是切分节点(即源节点是“非切分节点”),则将相应存储分区的节点索引信息的节点出度加1。例如,源节点对应的节点索引信息是v2→(id2,1,3),则更新后的节点索引信息是 v2→(id2,1,4)。
进一步地,本实施例中图1所示的有向无环图的分布式存储方法还可以按照如下步骤搜索有向无环图中的节点:
步骤S301:根据预设的节点索引信息和有向无环图中某个节点的节点标识,获取节点标识对应的存储分区标识。
步骤S302:根据存储分区标识获取相应的存储分区,从而在存储分区中搜索到某个节点所指向的节点。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
下面结合附图,对本发明提供的一种有向无环图的分布式存储系统进行说明。
参阅附图5,图5示例性示出了本实施例中有向无环图的分布式存储系统的主要结构。如图5所示,本实施例中有向无环图的分布式存储系统可以包括后台服务器和多个存储分区(存储分区1~存储分区 N),后台服务器分别与每个存储分区通信连接。
具体地,本实施例中后台服务器可以包括存储器和处理器,存储器存储有可在处理器上执行的计算机程序,该计算机程序在被运行时适于执行上述方法实施例所述的有向无环图的分布式存储。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在本发明的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的PC来实现。在列举了若干模块的单元权利要求中,这些模块中的若干个可以是通过同一个硬件项来具体体现。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (12)

1.一种有向无环图的分布式存储方法,其特征在于包括:
获取有向无环图的可切分子图和不可切分子图;
根据预设的存储分区的存储容量,选择性地对所述可切分子图进行切分;
将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区。
2.根据权利要求1所述的有向无环图的分布式存储方法,其特征在于,“获取有向无环图的可切分子图和不可切分子图”的步骤包括:
根据所述有向无环图中第一节点对应的有向边反向搜索第二节点,将所述第二节点与首个搜索到的第一节点构成的子图作为所述不可切分子图,将所述有向无环图中不可切分子图之外的子图作为可切分子图;
其中,所述第一节点是入度大于1的节点,所述第二节点是入度等于1且出度大于1的节点。
3.根据权利要求1或2所述的有向无环图的分布式存储方法,其特征在于,所述不可切分子图的数量是多个;“将所述不可切分子图存储至一个存储分区”的步骤包括:
根据预设的存储分区的存储容量,将多个所述不可切分子图存储至一个或多个存储分区。
4.根据权利要求1所述的有向无环图的分布式存储方法,其特征在于,“根据预设的存储分区的存储容量,选择性地对所述可切分子图进行切分”的步骤包括:
若所述存储分区的存储容量小于所述可切分子图所需的存储容量,则根据所述存储分区的存储容量选取所述可切分子图中的可切分节点,并且根据所述可切分节点对所述可切分子图进行切分;
若所述存储分区的存储容量大于等于所述可切分子图所需的存储容量,则不对所述可切分子图进行切分;
其中,所述可切分节点是入度小于等于1的节点。
5.根据权利要求4所述的有向无环图的分布式存储方法,其特征在于,“根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤包括:
若所述可切分子图被切分,则将切分后得到的每个子图分别存储至一个存储分区;
若所述可切分子图未被切分,则将所述可切分子图存储至一个存储分区。
6.根据权利要求5所述的有向无环图的分布式存储方法,其特征在于,“将切分后得到的每个子图分别存储至一个存储分区”的步骤包括:
将根据某个可切分节点对所述可切分子图进行切分得到的第一子图和第二子图分别存储至一个存储分区;
其中,所述第一子图中所述某个可切分节点的入度是0,所述第二子图中所述某个可切分节点的出度是0。
7.根据权利要求4-6中任一项所述的有向无环图的分布式存储方法,其特征在于,在“将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤之后,所述方法还包括:
根据所述有向无环图的新增数据对相应存储分区的存储数据进行更新;所述新增数据包括新增有向边和/或新增节点及其对应的有向边。
8.根据权利要求7所述的有向无环图的分布式存储方法,其特征在于,“根据所述有向无环图的新增数据对相应存储分区的存储数据进行更新”的步骤包括:
根据预设的节点索引信息和特定有向边对应的源节点的节点标识,获取所述节点标识对应的存储分区标识;
将所述新增数据存储至所述存储分区标识所对应的存储分区,并对所述节点索引信息进行更新;
其中,所述节点索引信息包括所述有向无环图中每个节点的节点标识以及每个节点标识对应的存储分区标识、节点入度和节点出度;所述特定有向边是所述新增有向边或新增节点对应的有向边。
9.根据权利要求8所述的有向无环图的分布式存储方法,其特征在于,当所述源节点是切分节点时,在“将所述新增数据存储至所述存储分区标识所指定的存储分区”的步骤之前,所述方法还包括:
判断是否成功获取到所述存储分区标识,若否则按照下式所示的方法重新获取存储分区标识:
id=(hash(v.key)%N+1)%N
其中,所述切分节点是对可切分子图进行切分时使用的可切分节点;所述v.key是源节点v的节点标识,所述N是存储分区标识id所指定的存储分区中的节点总数,所述hash表示散列函数,所述%表示取余运算。
10.根据权利要求8所述的有向无环图的分布式存储方法,其特征在于,当所述源节点不是切分节点时,在“将所述新增数据存储至所述存储分区标识所指定的存储分区”的步骤之前,所述方法还包括:
判断是否成功获取到所述存储分区标识,若否则按照下式所示的方法重新获取存储分区标识:
id=hash(v.key)%N
其中,所述切分节点是对可切分子图进行切分时使用的可切分节点;所述v.key是源节点v的节点标识,所述N是存储分区标识id所指定的存储分区中的节点总数,所述hash表示散列函数,所述%表示取余运算。
11.根据权利要求8所述的有向无环图的分布式存储方法,其特征在于,“将所述新增数据存储至所述存储分区标识所指定的存储分区,并对所述节点索引信息进行更新”的步骤包括:
若所述源节点是切分节点,则获取所述源节点对应的第一子图所在的存储分区的节点索引信息,并将所获取的节点索引信息的节点出度加1;
若所述源节点不是切分节点,则将相应存储分区的节点索引信息的节点出度加1。
12.根据权利要求4-6中任一项所述的有向无环图的分布式存储方法,其特征在于,在“将所述不可切分子图存储至一个存储分区,根据切分结果将所述可切分子图存储至一个或多个存储分区”的步骤之后,所述方法还包括:
根据预设的节点索引信息和所述有向无环图中某个节点的节点标识,获取所述节点标识对应的存储分区标识;
根据所述存储分区标识获取相应的存储分区,从而在所述存储分区中搜索到所述某个节点所指向的节点。
CN201810520856.XA 2018-05-28 2018-05-28 有向无环图的分布式存储方法 Active CN108733832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810520856.XA CN108733832B (zh) 2018-05-28 2018-05-28 有向无环图的分布式存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810520856.XA CN108733832B (zh) 2018-05-28 2018-05-28 有向无环图的分布式存储方法

Publications (2)

Publication Number Publication Date
CN108733832A true CN108733832A (zh) 2018-11-02
CN108733832B CN108733832B (zh) 2019-04-30

Family

ID=63936346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810520856.XA Active CN108733832B (zh) 2018-05-28 2018-05-28 有向无环图的分布式存储方法

Country Status (1)

Country Link
CN (1) CN108733832B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555547A (zh) * 2019-08-02 2019-12-10 杉数科技(北京)有限公司 一种物料的分配方法及装置
CN111191080A (zh) * 2019-08-22 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理的方法及装置
CN111506779A (zh) * 2020-04-20 2020-08-07 东云睿连(武汉)计算技术有限公司 面向数据处理的对象版本与关联信息管理方法及系统
WO2020207457A1 (zh) * 2019-04-12 2020-10-15 阿里巴巴集团控股有限公司 一种有向图识别方法及系统和服务器
CN113326402A (zh) * 2021-06-16 2021-08-31 上海哔哩哔哩科技有限公司 有向无环图生成方法及系统
CN113656369A (zh) * 2021-08-13 2021-11-16 辽宁华盾安全技术有限责任公司 一种大数据场景下的日志分布式流式采集及计算方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101317178A (zh) * 2005-12-16 2008-12-03 国际商业机器公司 统计时序分析中关键度预测的系统和方法
CN102364447A (zh) * 2011-10-28 2012-02-29 北京航空航天大学 一种优化多任务间通信能耗的作业调度方法
CN102819460A (zh) * 2012-08-07 2012-12-12 清华大学 一种基于预算功率指导的高能效gpu集群系统调度算法
CN103377035A (zh) * 2012-04-12 2013-10-30 浙江大学 针对粗颗粒度流应用的流水并行化方法
US20150278243A1 (en) * 2014-03-31 2015-10-01 Amazon Technologies, Inc. Scalable file storage service
CN106599218A (zh) * 2016-12-16 2017-04-26 北京奇虎科技有限公司 一种树形结构的处理方法和装置
CN106919455A (zh) * 2017-02-28 2017-07-04 北京科技大学 一种基于有向无环图的主路径填充调度方法
CN106970836A (zh) * 2017-03-20 2017-07-21 联想(北京)有限公司 执行任务的方法和系统
CN107463595A (zh) * 2017-05-12 2017-12-12 中国科学院信息工程研究所 一种基于Spark的数据处理方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101317178A (zh) * 2005-12-16 2008-12-03 国际商业机器公司 统计时序分析中关键度预测的系统和方法
CN102364447A (zh) * 2011-10-28 2012-02-29 北京航空航天大学 一种优化多任务间通信能耗的作业调度方法
CN103377035A (zh) * 2012-04-12 2013-10-30 浙江大学 针对粗颗粒度流应用的流水并行化方法
CN102819460A (zh) * 2012-08-07 2012-12-12 清华大学 一种基于预算功率指导的高能效gpu集群系统调度算法
US20150278243A1 (en) * 2014-03-31 2015-10-01 Amazon Technologies, Inc. Scalable file storage service
CN106599218A (zh) * 2016-12-16 2017-04-26 北京奇虎科技有限公司 一种树形结构的处理方法和装置
CN106919455A (zh) * 2017-02-28 2017-07-04 北京科技大学 一种基于有向无环图的主路径填充调度方法
CN106970836A (zh) * 2017-03-20 2017-07-21 联想(北京)有限公司 执行任务的方法和系统
CN107463595A (zh) * 2017-05-12 2017-12-12 中国科学院信息工程研究所 一种基于Spark的数据处理方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020207457A1 (zh) * 2019-04-12 2020-10-15 阿里巴巴集团控股有限公司 一种有向图识别方法及系统和服务器
CN110555547A (zh) * 2019-08-02 2019-12-10 杉数科技(北京)有限公司 一种物料的分配方法及装置
CN111191080A (zh) * 2019-08-22 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理的方法及装置
CN111506779A (zh) * 2020-04-20 2020-08-07 东云睿连(武汉)计算技术有限公司 面向数据处理的对象版本与关联信息管理方法及系统
CN113326402A (zh) * 2021-06-16 2021-08-31 上海哔哩哔哩科技有限公司 有向无环图生成方法及系统
CN113326402B (zh) * 2021-06-16 2022-07-19 上海哔哩哔哩科技有限公司 有向无环图生成方法及系统
CN113656369A (zh) * 2021-08-13 2021-11-16 辽宁华盾安全技术有限责任公司 一种大数据场景下的日志分布式流式采集及计算方法

Also Published As

Publication number Publication date
CN108733832B (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
CN108733832B (zh) 有向无环图的分布式存储方法
EP2738708B1 (en) Methods and Systems for Architecture-Centric Threat Modeling, Analysis and Visualization
US8890675B2 (en) Site and alarm prioritization system
CN109861878B (zh) kafka集群的topic数据的监控方法及相关设备
US9185006B2 (en) Exchange of server health and client information through headers for request management
US10491453B2 (en) Correlating computing network events
CA2808239C (en) Determining equivalent subsets of agents to gather information for a fabric
US7606153B2 (en) Storage system and information processing system
CN107590033A (zh) 一种创建docker容器的方法、装置和系统
CN105409169B (zh) 一种多路径转发规则的构造方法、装置及系统
JP2013520749A (ja) ウェーブを用いたオブジェクト・マイグレーションのためのシステム及び方法
CN112817856B (zh) Ab实验集成方法及系统
CN104486236B (zh) 负载分担的方法和路由设备
CN106909543A (zh) 一种规则引擎的模式匹配方法和装置
CN109510834B (zh) 一种安全策略下发方法及装置
WO2008091037A1 (en) Realtime unification management information data conversion and monitoring apparatus and method for thereof
CN108777679A (zh) 终端的流量访问关系生成方法、装置和可读存储介质
CN105721612B (zh) 数据传输方法和装置
CN105159925B (zh) 一种数据库集群数据分配方法及系统
CN110460662A (zh) 物联网数据的处理方法和系统
CN112769620B (zh) 一种网络部署方法、设备和计算机可读存储介质
US9288110B2 (en) Management of shared risk group identifiers for multi-layer transport networks with multi-tier resources
CN108023740B (zh) 监控中异常信息的风险提示方法和装置
CN116471333B (zh) 一种混合算力网络资源调度优化方法及随动控制装置
CN107577806A (zh) 航天器数据自动判读系统及判读方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190613

Address after: 344000 Pengjiayuan Group No. 12, Jiangjiacun, Xujia, Nancheng County, Fuzhou City, Jiangxi Province

Patentee after: Pan Hongan

Address before: 100022 Building No. 12, Xidawang Road, Chaoyang District, Beijing (Incubator 27660, National Advertising Industry Park)

Patentee before: BEIJING AKE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240524

Address after: 300450 Tianjin Binhai New Area Zhongxin Tianjin Ecological City Binhai New Area Lanyun Yuan Building 32-101

Patentee after: Ake (Tianjin) Big Data Technology Co.,Ltd.

Country or region after: China

Address before: No. 12, Pengjiayuan Group, Jiangjia Village, Xujia Township, Nancheng County, Fuzhou City, Jiangxi Province, 344000

Patentee before: Pan Hongan

Country or region before: China