时序图的处理方法及装置.pdf

上传人:齐** 文档编号:10147269 上传时间:2021-06-05 格式:PDF 页数:15 大小:463.89KB
收藏 版权申诉 举报 下载
时序图的处理方法及装置.pdf_第1页
第1页 / 共15页
时序图的处理方法及装置.pdf_第2页
第2页 / 共15页
时序图的处理方法及装置.pdf_第3页
第3页 / 共15页
文档描述:

《时序图的处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《时序图的处理方法及装置.pdf(15页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010912889.6 (22)申请日 2020.09.03 (71)申请人 清华大学 地址 100084 北京市海淀区清华园1号 (72)发明人 武永卫陈康姜进磊宦成颖 (74)专利代理机构 北京新知远方知识产权代理 事务所(普通合伙) 11397 代理人 马军芳张艳 (51)Int.Cl. G06F 12/02(2006.01) (54)发明名称 时序图的处理方法及装置 (57)摘要 本申请实施例中提供了时序图的处理方法 及装置, 其中, 所述方法包括: 读取磁盘中储存。

2、的 时序图, 其中, 所述时序图包括按照所述时序图 的边的出点时间排序得到的图数据; 根据所述时 序图的边的出点时间排序, 将所述磁盘中的所述 图数据载入内存; 遍历所述图数据, 生成预处理 结果。 采用本申请中的方案, 提高计算时间效率 以及有着很好的扩展性和可使用性。 权利要求书2页 说明书9页 附图3页 CN 112115072 A 2020.12.22 CN 112115072 A 1.一种时序图的处理方法, 其特征在于, 包括: 读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的边的出点时间排 序得到的图数据; 根据所述时序图的边的出点时间排序, 将所述磁盘中的所述图数。

3、据载入内存; 遍历所述图数据, 生成预处理结果。 2.根据权利要求1所述的方法, 其特征在于, 所述遍历所述图数据, 生成预处理结果包 括: 在所述内存中遍历所述图数据得到待更新的图数据; 和/或, 将所述时序图中的边数据映射进所述内存。 3.根据权利要求2所述的方法, 其特征在于, 在所述内存中遍历所述图数据得到待更新 的图数据包括: 将所述图数据中的有向无环图遍历一遍, 得到待更新的图数据。 4.根据权利要求2所述的方法, 其特征在于, 将所述时序图中的边数据映射进所述内存 包括: 确定所述边数据的数量; 根据所述边数据的数量, 将所述时序图中的边数据映射进所述内存。 5.根据权利要求1所。

4、述的方法, 其特征在于, 所述读取磁盘中储存的时序图, 其中, 所述 时序图包括按照所述时序图的边的出点时间排序得到的图数据包括: 将所述图数据中的每个点按照不同时间拆分, 得到图数据的出点和入点, 其中, 所述出 点对应某一条边的源点, 所述入点对应某一条边的汇点; 将所述图数据的出点和入点按照时间排序; 在所述时间排序的结果中所述入点的出点时序不大于所述入点的情况下, 将所述入点 的出点合并到当前出点上; 在所述时间排序的结果中两个时间相邻的出点之间没有入点的情况下, 将第一时间的 出点合并到第二时间的出点, 其中, 所述第一时间大于所述第二时间。 6.根据权利要求1所述的方法, 其特征在。

5、于, 所述读取磁盘中储存的时序图, 其中, 所述 时序图包括按照所述时序图的边的出点时间排序得到的图数据包括: 按照所述时序图的边的出点时间排序, 将所述时序图转化为有向无环图, 其中, 所述转 化至少包括如下之一的操作: 出点排序、 点标号、 查找枢纽点、 生成新的边数据。 7.根据权利要求6所述的方法, 其特征在于, 所述读取磁盘中储存的时序图, 其中, 所述 时序图包括按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时 序图进行出点排序操作的步骤, 所述读取磁盘中储存的时序图进行出点排序操作的步骤包 括: 统计所述时序图中每个点的度数; 根据所述每个点的度数遍历边数据。

6、, 拆分出每个点的出点; 对所述出点进行排序, 其中, 每个出点排序后的位置等于编号小于当前点的所有点的 度数加上当前点时间小于该点的出点个数。 8.根据权利要求7所述的方法, 其特征在于, 所述读取磁盘中储存的时序图, 其中, 所述 时序图包括按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时 权利要求书 1/2 页 2 CN 112115072 A 2 序图进行查找枢纽点的操作步骤, 所述读取磁盘中储存的时序图进行查找枢纽点的操作步 骤包括: 基于二分搜索对入点进行二分查找, 确定出点集合; 根据所述出点在集合中确定满足预设时间条件的出点; 根据出点排序操作结果进行点的。

7、重新编号。 9.根据权利要求8所述的方法, 其特征在于, 所述读取磁盘中储存的时序图, 其中, 所述 时序图包括按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时 序图进行生成新的边数据的操作步骤, 所述读取磁盘中储存的时序图进行生成新的边数据 的操作步骤包括: 根据点重新编号的结果查找出枢纽节点, 其中, 所述枢纽节点为出点; 根据所述枢纽节点建立点到枢纽点之间的映射; 根据映射结果将所述时序图中的边按照源点和汇点所对应的枢纽点连接; 将每个点的枢纽点集合按时间从小到大在所处枢纽点之间建立数据边。 10.一种时序图的处理装置, 其特征在于, 包括: 读取模块, 用于读取磁。

8、盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的边 的出点时间排序得到的图数据; 载入模块, 用于根据所述时序图的边的出点时间排序, 将所述磁盘中的所述图数据载 入内存; 生成模块, 用于遍历所述图数据, 生成预处理结果。 权利要求书 2/2 页 3 CN 112115072 A 3 时序图的处理方法及装置 技术领域 0001 本申请涉及时序图计算技术, 具体地, 涉及时序图的处理方法及装置。 背景技术 0002 时序图, 是边上带有时间区间的图。 很多领域产生的数据都会采用时序图, 例如飞 行航班图、 计算机交互日志、 生物交互以及交通数据图等等。 0003 对于时序图计算方法并没。

9、有完全使用时序图的特性, 对于时序图存在计算效率低 下、 无法适用于外存计算等缺点。 0004 针对相关技术中, 对于时序图的处理效率低下的问题, 目前尚未存在有效的解决 方案。 发明内容 0005 本申请实施例提供了一种图数据处理方法及装置, 以至少解决相关技术中对于时 序图的处理效率低下的问题。 0006 根据本申请实施例的第一个方面, 提供了一种时序图的处理方法, 包括: 读取磁盘 中储存的时序图, 其中, 所述时序图包括按照所述时序图的边的出点时间排序得到的图数 据; 根据所述时序图的边的出点时间排序, 将所述磁盘中的所述图数据载入内存; 遍历所述 图数据, 生成预处理结果。 0007。

10、 可选地, 所述遍历所述图数据, 生成预处理结果包括: 在所述内存中遍历所述图数 据得到待更新的图数据; 和/或, 将所述时序图中的边数据映射进所述内存。 0008 可选地, 在所述内存中遍历所述图数据得到待更新的图数据包括: 将所述图数据 中的有向无环图遍历一遍, 得到待更新的图数据。 0009 可选地, 将所述时序图中的边数据映射进所述内存包括: 确定所述边数据的数量; 根据所述边数据的数量, 将所述时序图中的边数据映射进所述内存。 0010 可选地, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的 边的出点时间排序得到的图数据包括: 将所述图数据中的每个点按照不同时。

11、间拆分, 得到 图数据的出点和入点, 其中, 所述出点对应任一条边的源点, 所述入点对应任一条边的汇 点; 将所述图数据的出点和入点按照时间排序; 在所述时间排序的结果中所述入点的出点 时序不大于所述入点的情况下, 将所述入点的出点合并到当前出点上; ; 在所述时间排序的 结果中两个时间相邻的出点之间没有入点的情况下, 将第一时间的出点合并到第二时间的 出点, 其中, 所述第一时间大于所述第二时间。 0011 可选地, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的 边的出点时间排序得到的图数据包括: 按照所述时序图的边的出点时间排序, 将所述时序 图转化为有向无环图, 。

12、其中, 所述转化至少包括如下之一的操作: 出点排序、 点标号、 查找枢 纽点、 生成新的边数据。 0012 可选地, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的 说明书 1/9 页 4 CN 112115072 A 4 边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行出点排序操作的步 骤, 所述读取磁盘中储存的时序图进行出点排序操作的步骤包括: 统计所述时序图中每个 点的度数; 根据所述每个点的度数遍历边数据, 拆分出每个点的出点; 对所述出点进行排 序, 其中, 每个出点排序后的位置等于出点的编号小于当前点的所有点的度数加上当前点 时间小于该点的出点个。

13、数。 0013 可选地, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的 边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行查找枢纽点的操作步 骤, 所述读取磁盘中储存的时序图进行查找枢纽点的操作步骤包括: 基于二分搜索对入点 进行二分查找, 确定出点集合; 根据所述出点在集合中确定满足预设时间条件的出点; 根据 出点排序操作结果进行点的重新编号。 0014 可选地, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的 边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行生成新的边数据的操 作步骤, 所述读取磁盘中储存的时序图进行生。

14、成新的边数据的操作步骤包括: 根据点重新 编号的结果查找出枢纽节点, 其中, 所述枢纽节点为出点; 根据所述枢纽节点建立点到枢纽 点之间的映射; 根据映射结果将所述时序图中的边按照源点和汇点所对应的枢纽点连接; 将每个点的枢纽点集合按时间从小到大在所处枢纽点之间建立数据边。 0015 根据本申请实施例的第二个方面, 提供了一种时序图的处理装置, 包括: 读取模 块, 用于读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序图的边的出点时间 排序得到的图数据; 载入模块, 用于根据所述时序图的边的出点时间排序, 将所述磁盘中的 所述图数据载入内存; 生成模块, 用于遍历所述图数据, 生成。

15、预处理结果。 0016 采用本申请实施例中提供的时序图的处理方法以及装置, 通过读取磁盘中储存的 时序图, 根据所述时序图中按照所述时序图的边的出点时间排序, 将所述磁盘中的所述图 数据载入内存中, 遍历所述图数据, 生成预处理结果。 通过按照时序图的拓扑顺序扫描所有 边的时序图计算引擎, 够让用户使用最少的代码来完成不同应用的代码编写同时提高了处 理效率。 附图说明 0017 此处所说明的附图用来提供对本申请的进一步理解, 构成本申请的一部分, 本申 请的示意性实施例及其说明用于解释本申请, 并不构成对本申请的不当限定。 在附图中: 0018 图1为本申请实施例中的时序图的处理方法的执行载体。

16、的计算机设备结构示意 图; 0019 图2为本申请实施例中的时序图的处理方法流程示意图; 0020 图3为本申请实施例中的时序图的处理装置结构示意图; 0021 图4为本申请实施例中的时序图的处理方法的原理示意图。 具体实施方式 0022 在实现本申请的过程中, 发明人发现, 传统时序图计算方法并没有完全使用时序 图的特性, 缺点如下: 1)时间效率低下; 2)不能支持外存计算; 3)没用统一的编程框架, 用户 使用困难。 说明书 2/9 页 5 CN 112115072 A 5 0023 针对上述问题, 本申请实施例中提供了一种解决传统时序图计算方法计算速度 慢、 图转化速度慢、 图冗余过多。

17、以及无法适用于外存计算的问题, 提供了一个效率高、 扩展 性好、 易于使用的时序图计算引擎。 0024 为了使本申请实施例中的技术方案及优点更加清楚明白, 以下结合附图对本申请 的示例性实施例进行进一步详细的说明, 显然, 所描述的实施例仅是本申请的一部分实施 例, 而不是所有实施例的穷举。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实 施例中的特征可以相互组合。 0025 本申请实施例所提供的方法实施例可以在移动设备、 计算机设备或者类似的装置 中执行。 以运行在计算机设备上为例, 如图1所示, 计算机设备20可以包括: 至少一个处理器 201, 例如CPU, 至少一个网络接口2。

18、04, 用户接口203, 存储器205, 至少一个通信总线202, 可 选地, 还可以包括显示屏206。 其中, 通信总线202用于实现这些组件之间的连接通信。 其中, 用户接口203可以包括触摸屏、 键盘或鼠标等等。 网络接口204可选的可以包括标准的有线 接口、 无线接口(如WI-FI接口), 通过网络接口204可以与服务器建立通信连接。 存储器205 可以是高速RAM存储器, 也可以是非不稳定的存储器(non-volatile memory), 例如至少一 个磁盘存储器, 存储器205包括本发明实施例中的flash。 存储器205可选的还可以是至少一 个位于远离前述处理器201的存储系统。

19、。 如图1所示, 作为一种计算机存储介质的存储器205 中可以包括操作系统、 网络通信模块、 用户接口模块以及程序指令。 0026 需要说明的是, 网络接口204可以连接接收器、 发射器或其他通信模块, 其他通信 模块可以包括但不限于WiFi模块、 蓝牙模块等, 可以理解, 本发明实施例中计算机设备也可 以包括接收器、 发射器和其他通信模块等。 0027 处理器201可以用于调用存储器205中存储的程序指令, 并使计算机设备20执行时 序图的处理操作。 0028 如图2所示, 本申请实施例中的时序图的处理方法, 具体包括如下步骤: 0029 步骤S200, 读取磁盘中储存的时序图, 其中, 所。

20、述时序图包括按照所述时序图的边 的出点时间排序得到的图数据; 0030 步骤S201, 根据所述时序图的边的出点时间排序, 将所述磁盘中的所述图数据载 入内存; 0031 步骤S202, 遍历所述图数据, 生成预处理结果。 0032 采用本申请实施例中提供的时序图的处理方法以及装置, 通过读取磁盘中储存的 时序图, 根据所述时序图中按照所述时序图的边的出点时间排序, 将所述磁盘中的所述图 数据载入内存中, 遍历所述图数据, 生成预处理结果。 通过按照时序图的拓扑顺序扫描所有 边的时序图计算引擎, 够让用户使用最少的代码来完成不同应用的代码编写同时提高了处 理效率。 0033 在上述步骤S200。

21、中从磁盘中读取时序图, 所述时序图经过了计算预处理后在所述 时序图中包括按照所述时序图的边的出点时间排序得到的图数据。 0034 在上述步骤S201中在磁盘中获取得到图数据后, 再按照所述时序图的边的出点时 间排序将所述磁盘中的图数据载入到内存中进行计算。 0035 在上述步骤S202中按照图数据组织顺序遍历一遍按当前边进行图数据更新, 生成 的预处理结果可以包括多种应用, 比如计算可达性、 计算最快路径即两个点之间最快到达 说明书 3/9 页 6 CN 112115072 A 6 的时间、 计算最短路径即两点之间最小路径权值、 计算最近k邻居即图中一个点最近的k个 点。 对于预处理结果中的应。

22、用在本申的实施例中并不进行具体限定, 本领域技术人员可以 根据实际使用情况进行选择。 0036 在本申请可选的实施例中, 所述遍历所述图数据, 生成预处理结果包括: 在所述内 存中遍历所述图数据得到待更新的图数据; 和/或, 将所述时序图中的边数据映射进所述内 存。 0037 具体实施时, 主体计算流程主要分为内存环境和外存环境。 在内存环境中, 将磁盘 中的图数据载入内存。 由于载入的图数据带有着有向无环图的拓扑序, 因此遍历一遍整个 图数据将需要更新的数据更新一下。 在外存环境中, 如果图数据较大而无法被完全载入内 存的情况下, 使用mmap将边数据映射进内存。 0038 优选地, 在所述。

23、内存中遍历所述图数据得到待更新的图数据包括: 将所述图数据 中的有向无环图遍历一遍, 得到待更新的图数据。 0039 优选地, 将所述时序图中的边数据映射进所述内存包括: 确定所述边数据的数量; 根据所述边数据的数量, 将所述时序图中的边数据映射进所述内存。 0040 在本申请可选的实施例中, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括 按照所述时序图的边的出点时间排序得到的图数据包括: 将所述图数据中的每个点按照不 同时间拆分, 得到图数据的出点和入点, 其中, 所述出点对应某一条边的源点, 所述入点对 应某任一条边的汇点; 将所述图数据的出点和入点按照时间排序; 在所述时间排序的。

24、结果 中所述入点的出点时序不大于所述入点的情况下, 将所述入点的出点合并到所述当前出点 上; 在所述时间排序的结果中两个时间相邻的出点之间没有入点的情况下, 将第一时间的 出点合并到第二时间的出点, 其中, 所述第一时间大于所述第二时间。 0041 具体实施时, 在进行图算法的计算之前步骤如下优化过程: 0042 首先, 对图进行预处理, 将图按照每个点按不同时间拆分, 分为出点和入点, 其中 出点是某条边的源点, 入点是某条边的汇点。 0043 然后, 将每个点的出点按时间从小到大排序然后在他们之间建边。 0044 进一步地, 将入点找到时间大于等于它的出点并合并到当前出点上, 因为实际上 。

25、每个入点是为了将它获得的信息传输到后面的出点上, 因此可以将入点合并到出点上。 需 要注意的是, 如果两个时间相邻的出点之间没有入点那将时间大的出点合并到时间小的出 点。 0045 最后, 把图缩减后按照边的出点时间排序存入磁盘中。 0046 在本申请可选的实施例中, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括 按照所述时序图的边的出点时间排序得到的图数据包括: 按照所述时序图的边的出点时间 排序, 将所述时序图转化为有向无环图, 其中, 所述转化至少包括如下之一的操作: 出点排 序、 点标号、 查找枢纽点、 生成新的边数据。 0047 具体实施时, 上述步骤中需要进行出点排序、 点。

26、标号、 查找枢纽点、 以及生成新的 边数据等操作。 将有向无环图分割成适应于内存大小的块是为了后续的外存计算。 实际上 也可以不分割, 使用系统提供的mmap来进行虚拟映射。 这样会更加的方便快捷。 0048 在本申请可选的实施例中, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括 按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行出 说明书 4/9 页 7 CN 112115072 A 7 点排序操作的步骤, 所述读取磁盘中储存的时序图进行出点排序操作的步骤包括: 统计所 述时序图中每个点的度数; 根据所述每个点的度数遍历边数据, 拆分出每个点的出点; 对所。

27、 述出点进行排序, 其中, 每个出点排序后的位置等于编号小于当前点的所有点的度数加上 当前点时间小于该点的出点个数。 0049 在本申请可选的实施例中, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括 按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行查 找枢纽点的操作步骤, 所述读取磁盘中储存的时序图进行查找枢纽点的操作步骤包括: 基 于二分搜索对入点进行二分查找, 确定出点集合; 根据所述出点在集合中确定满足预设时 间条件的出点; 根据出点排序操作结果进行点的重新编号。 0050 具体实施时, 使用二维基数排序以及并行标号的技术缩短了有向无环图转换时 间。。

28、 同时, 基于枢纽点的点合并方法用来进行有向无环图冗余点和边的剪枝, 缩小了有向无 环图的大小。 0051 采用二维基数排序以及并行标号的技术缩短了有向无环图的转换时间。 首先统计 每个点的度数, 可以预先把每个点标号小于它的所有的点的度数算出来; 然后再继续遍历 边数据, 进行拆点。 实际上每个点只有出点有用, 入点需要合并到出点上, 因此只对出点进 行排序。 0052 进一步, 考虑到时序图的边数据按照时间从小到大流过来, 因此每个出点排序后 的位置等于编号小于它的度数加上当前点时间小于它的出点个数。 通过计算位置消除了不 同出点排序位置的依赖关系。 将出点排好后需要进行点的重新编号, 需。

29、要将入点找到对应 的出点上, 同时拆完后的点是二维, 再将二维变成一维数据便于处理。 0053 优选地, 在点编号的过程中我们使用二分搜索, 对入点(u,t)二分查找u的出点集 合, 从而在集合里找到拥有最小的时间s的出点(u,s)满足st。 0054 在本申请可选的实施例中, 所述读取磁盘中储存的时序图, 其中, 所述时序图包括 按照所述时序图的边的出点时间排序得到的图数据包括: 读取磁盘中储存的时序图进行生 成新的边数据的操作步骤, 所述读取磁盘中储存的时序图进行生成新的边数据的操作步骤 包括: 根据点重新编号的结果查找出枢纽节点, 其中, 所述枢纽节点为出点; 根据所述枢纽 节点建立点到。

30、枢纽点之间的映射; 根据映射结果将所述时序图中的边按照源点和汇点所对 应的枢纽点连接; 将每个点的枢纽点集合按时间从小到大在所处枢纽点之间建立数据边。 0055 具体实施时, 基于有向无环图的时序图计算方法加上有向无环图剪枝方法使得计 算过程能够适用于外存计算系统。 0056 在点重新编号后就能够查找枢纽节点, 其中枢纽节点一定是出点, 并且它要么在 当前点中时间最小要么有入点合并到这个点上。 由于在点编号的过程中相当于做了入点合 并的操作, 因此枢纽点通过对点数据的一遍遍历能够求得然后建立映射函数, 这样就能够 查询出每个点它对应的枢纽点的编号。 0057 进一步地, 在建立完点到枢纽点之间。

31、的映射后, 将原图中的边按照源点和汇点所 对应的枢纽点连接起来, 权值设定为原始边的权值。 同时将每个点的枢纽点集合里按时间 从小到大在它们之间建立虚边。 由于时序图的边按照时间流排序, 因此在建立边的过程中 也按照时间顺序建立边。 这样就能够保证转换后的有向无环图也是按源点的开始时间排好 序的。 说明书 5/9 页 8 CN 112115072 A 8 0058 本领域内的技术人员应明白, 本申请的实施例可提供为方法、 系统、 或计算机程序 产品。 因此, 本申请可采用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实 施例的形式。 而且, 本申请可采用在一个或多个其中包含有计算机。

32、可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、 CD-ROM、 光学存储器等)上实施的计算机程序产 品的形式。 0059 本申请是参照根据本申请实施例的方法、 设备(系统)、 和计算机程序产品的流程 图和/或方框图来描述的。 应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、 以及流程图和/或方框图中的流程和/或方框的结合。 可提供这些计算机程序 指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框。

33、或多个方框中指定的功能的装置。 0060 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。 0061 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。 0062 在本实。

34、施例中还提供了一种时序图的处理装置, 该装置用于实现上述实施例及优 选实施方式, 已经进行过说明的不再赘述。 如以下所使用的, 术语 “模块” 可以实现预定功能 的软件和/或硬件的组合。 尽管以下实施例所描述的装置较佳地以软件来实现, 但是硬件, 或者软件和硬件的组合的实现也是可能并被构想的。 0063 图3是根据本申请实施例的时序图的处理装置的结构框图, 如图3所示, 该装置包 括: 0064 读取模块30, 用于读取磁盘中储存的时序图, 其中, 所述时序图包括按照所述时序 图的边的出点时间排序得到的图数据; 0065 载入模块31, 用于根据所述时序图的边的出点时间排序, 将所述磁盘中的所。

35、述图 数据载入内存; 0066 生成模块32, 用于遍历所述图数据, 生成预处理结果。 0067 本申请实施例的读取模块30中从磁盘中读取时序图, 所述时序图经过了计算预处 理后在所述时序图中包括按照所述时序图的边的出点时间排序得到的图数据。 0068 本申请实施例的载入模块31中在磁盘中获取得到图数据后, 再按照所述时序图的 边的出点时间排序将所述磁盘中的图数据载入到内存中进行计算。 0069 本申请实施例的生成模块32中按照图数据组织顺序遍历一遍按当前边进行图数 据更新, 生成的预处理结果可以包括多种应用, 比如计算可达性、 计算最快路径即两个点之 间最快到达的时间、 计算最短路径即两点之。

36、间最小路径权值、 计算最近k邻居即图中一个点 最近的k个点。 对于预处理结果中的应用在本申的实施例中并不进行具体限定, 本领域技术 人员可以根据实际使用情况进行选择。 说明书 6/9 页 9 CN 112115072 A 9 0070 所述载入模块31, 还用于在所述内存中遍历所述图数据得到待更新的图数据; 和/ 或, 将所述时序图中的边数据映射进所述内存。 0071 所述生成模块32, 还用于将所述图数据中的有向无环图遍历一遍, 得到待更新的 图数据。 0072 所述生成模块32, 还用于确定所述边数据的数量; 根据所述边数据的数量, 将所述 时序图中的边数据映射进所述内存。 0073 所述。

37、读取模块30, 还用于将所述图数据中的每个点按照不同时间拆分, 得到图数 据的出点和入点, 其中, 所述出点包括任一条边的源点, 所述入点包括任一条边的汇点; 将 所述图数据的出点和入点按照时间排序; 在所述时间排序的结果中所述入点的查询时间不 小于的当前出点的出点的情况下, 将所述入点合并到所述当前出点上; 在所述时间排序的 结果中两个时间相邻的出点之间没有入点的情况下, 将第一时间的出点合并到第二时间的 出点, 其中, 所述第一时间大于所述第二时间。 0074 所述读取模块30, 还用于按照所述时序图的边的出点时间排序, 将所述时序图转 化为有向无环图, 其中, 所述转化至少包括如下之一的。

38、操作: 出点排序、 点标号、 查找枢纽 点、 生成新的边数据。 0075 所述读取模块30, 还用于统计所述时序图中每个点的度数; 根据所述每个点的度 数继续遍历边数据, 拆分出每个点的出点; 对所述出点进行排序, 其中, 每个出点排序后的 位置通过出点的编号小于当前点的度数和当前点时间小于该点的出点个数。 0076 所述读取模块30, 还用于基于二分搜索对入点进行二分查找, 确定出点集合; 根据 所述出点在集合中确定满足预设时间条件的出点; 根据出点排序操作结果进行点的重新编 号。 0077 所述读取模块30, 还用于根据点重新编号的结果查找出枢纽节点, 其中, 所述枢纽 节点为出点; 根据。

39、所述枢纽节点建立点到枢纽点之间的映射; 根据映射结果将所述时序图 中的边按照源点和汇点所对应的枢纽点连接; 将每个点的枢纽点集合按时间从小到大在所 处枢纽点之间建立数据边。 0078 为了更好的理解上述时序图的处理方法流程, 以下结合优选实施例对上述技术方 案进行解释说明, 但不用于限定本发明实施例的技术方案。 0079 本发明优选实施例提供了基于有向无环图时序图计算的方法, 采用时序图计算引 擎可以改善传统时序图计算中时间空间效率低下、 无法使用于外存计算以及没有统一的编 程框架的问题。 此外, 所述时序图计算引擎通过将图转换为有向无环图, 然后在有向无环图 上按照拓扑序遍历一遍, 从而提高。

40、时间效率以及有着很好的扩展性和可使用性。 0080 如图4所示, 是本申请实施例中的时序图的处理方法的流程原理图, 具体包括如下 步骤: 0081 步骤S1, 计算之前进行预处理将图转换成有向无环图, 需要进行出点排序、 点标 号、 查找枢纽点、 以及生成新的边数据等操作。 将有向无环图分割成适应于内存大小的块是 为了后续的外存计算。 实际上也可以不分割, 使用系统提供的mmap来进行虚拟映射。 这样会 比较方便快捷。 0082 预处理包括: 0083 步骤S1.1, 统计每个点的度数, 可以预先把每个点标号小于它的所有的点的度数 说明书 7/9 页 10 CN 112115072 A 10 。

41、算出来。 其次继续遍历边数据, 进行拆点。 这样做完后出点(u,t)是按照第一维也就是点标 号升序排列其次按照第二维也就是时间升序排列, 通过使用二维基数排序, 出点排序的时 间复杂度由O(ElogD)降为了O(E)。 0084 步骤S1.2, 将出点排好后我们需要进行点的重新编号, 需要将入点找到对应的出 点上, 同时拆完后的点是二维, 需要将二维变成一维数据便于处理。 在点编号的过程中我们 使用二分搜索, 相关技术中的方法有着O(ElogD)的时间复杂度, 在本申请的计算引擎中将 编号操作并行化, 因为他们之间没有资源竞争, 因此使用并行能够大大降低时间复杂度同 时有这良好的可扩展性。 0。

42、085 步骤S1.3, 点重新编号后就能够查找枢纽节点, 其中枢纽节点一定是出点, 并且它 要么在当前点中时间最小要么有入点合并到这个点上。 可以证明最后的图可以由枢纽点之 间建边构建完成。 由于在点编号的过程中相当于做了入点合并的操作, 因此枢纽点通过对 点数据的一遍遍历能够求得然后建立映射函数, 这样就能够查询出每个点它对应的枢纽点 的编号, 这样仅仅需要O(E)的时间复杂度。 0086 步骤S1.4, 在建立完点到枢纽点之间的映射后, 将原图中的边按照源点和汇点所 对应的枢纽点连接起来, 权值设定为原始边的权值。 同时将每个点的枢纽点集合里按时间 从小到大在它们之间建立虚边。 由于时序图。

43、的边按照时间流排序, 因此在建立边的过程中 也按照时间顺序建立边。 就能够保证转换后的DAG也是按源点的开始时间排好序的。 0087 综上, 预处理过程仅仅需要O(E+Elog(D)/thread_num)的时间复杂度, 其中 thread_num是使用的线程数。 在一般情况下线程数为16时, 整个预处理过程接近O(E)复杂 度。 0088 步骤S2、 主体计算流程, 主要分为内存环境和外存环境。 在内存环境中, 将磁盘中 的图数据载入内存。 由于载入的图数据带有着DAG的拓扑序, 因此遍历一遍整个图数据将需 要更新的数据更新一下。 0089 具体地, 可以抽象成公式对于边(u,v,s,t,w。

44、), disvcmp(disv,update(dis u,w)。 其中disu代表点u的值, cmp函数是比较函数, 在最短路中则返回两者最小值, update函数是更新函数在最短路中是返回两个数和。 因此用户对于不同的应用仅仅需要更 新cmp和update两个函数, 用户只需要写非常少量的代码就可以来完成这些操作。 外存环境 与内存环境不同的是, 图数据无法被完全载入内存, 但是经过枢纽点剪枝后的点数据比传 统方法减少了近90, 因此点数据可以放在内存中。 0090 此外, 在计算引擎中使用mmap将边数据映射进内存, 因为是对边的顺序并且仅仅 需要对数据的一遍扫描, 因此这样只有E的I/O。

45、开销。 相比于传统外存图计算系统, 能够大大 降低系统的I/O时间。 0091 基于有向无环图的时序图计算的方法, 设计实现了时序图计算引擎, 用于改善传 统时序图计算中时间空间效率低下、 无法使用于外存计算以及没有统一的编程框架的问 题。 时序图计算引擎通过将图转换为有向无环图然后在有向无环图上按照拓扑序遍历一 遍, 这样能够大大提高时间效率以及有着很好的扩展性和可使用性。 0092 尽管已描述了本申请的优选实施例, 但本领域内的技术人员一旦得知了基本创造 性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权利要求意欲解释为包括优 选实施例以及落入本申请范围的所有变更和修改。 说明书 8/9 页 11 CN 112115072 A 11 0093 显然, 本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精 神和范围。 这样, 倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围 之内, 则本申请也意图包含这些改动和变型在内。 说明书 9/9 页 12 CN 112115072 A 12 图1 说明书附图 1/3 页 13 CN 112115072 A 13 图2 图3 说明书附图 2/3 页 14 CN 112115072 A 14 图4 说明书附图 3/3 页 15 CN 112115072 A 15 。

展开阅读全文
内容关键字: 时序 处理 方法 装置
关于本文
本文标题:时序图的处理方法及装置.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10147269.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1