1.一种面向大图分割的分布式动态图管理系统,其特征在于包括至少一个Master主机和若干个Slave主机,所述Master主机上设置有分配逻辑模块,各个Slave主机均设置有动态均衡模块,
所述分配逻辑模块被配置成:读取大图数据流中的一条顶点信息,对该顶点信息中的边进行分配,并将分配结果存储于对应的Slave主机;
所述动态均衡模块被配置成:对于图中的任一顶点v,按照下列第一分配公式进行分配:
其中Index i∈{1,…,p}为分区编号,VΓ(i)为其第i个分区上的邻居顶点集合,rv为邻居v对该顶点的读频率为rv;对于图中的任一顶点,如果该顶点的更新频率小于其在某个分区被读的频率,则需要保留该顶点在该分区,反之则不保留该顶点在该分区。
2.根据权利要求1所述的面向大图分割的分布式动态图管理系统,其特征在于所述各个Slave主机还设置有可视化模块,所述可视化模块用于显示分配逻辑模块的分配结果。
3.根据权利要求1所述的面向大图分割的分布式动态图管理系统,其特征在于所述Master主机上还设置有全局信息存储模块,所述全局信息存储模块用于存储分配逻辑模块的分配结果。
4.根据权利要求3所述的面向大图分割的分布式动态图管理系统,其特征在于所述Master主机上还设置有路由逻辑模块,所述路由逻辑模块被配置成:接收到外部查询访问请求后,通过查询全局信息存储模块,得到访问请求中顶点或边所在的Slave主机,并将信息返回。
5.根据权利要求1所述的面向大图分割的分布式动态图管理系统,其特征在于所述分配逻辑模块具体被配置成:读取大图数据流中的一条顶点信息;在该顶点信息的所有顶点中寻找最小度顶点vmin;将与顶点vmin相关的边e取出;按照下列第二分配公式进行边分配:
Index1hc=arg maxi∈{1,…,k}{|Pt(i)∩Γ(vmin)|w(t,i)},
其中,Index1hc为分配的分区,w(t,i)为权重惩罚函数:ω为预设的惩罚函数参数,Pt(i)为t时刻i分区的顶点集合,Γ(vmin)为顶点vmin的邻居集合,k为总的分区个数;将顶点vmin从Γ(v)中移除,重新从Γ(v)中寻找最小度顶点,再次按照上述第二分配公式分配与该最小度顶点相关的边,直至Γ(v)为空。
6.根据权利要求1所述的面向大图分割的分布式动态图管理系统,其特征在于所述分配逻辑模块具体被配置成:读取大图数据流中的一条顶点信息;在该顶点信息的所有顶点中寻找最大度顶点vmax;将与vmax相关的边e取出;按照下列第三分配公式进行边分配:
Index2hc=arg maxi∈{1,…,k}{|Pt(i)∩Γ(vmax)|w(t,i)},
其中,Index2hc为分配的分区,w(t,i)为权重惩罚函数:ω为预设的惩罚函数参数,Pt(i)为t时刻i分区的顶点集合,Γ(vmin)为顶点vmax的邻居集合,k为总的分区个数;将顶点vmax从Γ(v)中移除,重新从Γ(v)中寻找最大度顶点,再次按照上述第三分配公式分配与该最大度顶点相关的边,直至Γ(v)为空。
7.根据权利要求5或6所述的面向大图分割的分布式动态图管理系统,其特征在于所述惩罚函数参数ω取1。
8.根据权利要求1所述的面向大图分割的分布式动态图管理系统,其特征在于所述Slave主机设置有图访问接口,所述图访问接口用于上层获取图的相关信息。