c/c++语言开发共享设置协调算法的实现

我正在寻找集合协调算法的实现。 问题在于:有两个集合,其中元素由位于不同机器上的一些相对紧凑的值(例如UUID或MD5 / SHA1 /任何散列)标识。 这些集合在相对较少的元素中有所不同,我希望在传输最少量的数据时同步这些集合。 大多数谷歌搜索引领这里 。 这是GPL实施的似乎是最先进的任务方法。 问题是我不能在我的应用程序中使用GPL代码。 我很可能必须使用像nzmath这样的东西重新实现它,但也许还有其他实现(最好是Python或C / C ++),或者还有其他更好的算法?

    不能使用GPL通常是抽象的问题; 如果它是您遇到问题的许可证。 因此,如果您创建一个小型GPL应用程序(在GPL下发布),您可以从非GPL应用程序中调用它。 为什么重新发明轮子?

    特别是如果你可以使用已经存在的python脚本:为什么不利用它呢? 当然,如果您不能公开元素重新整合算法,情况会有所不同。

    此代码不在我的脑海中,因此适用于此站点中代码示例的任何许可证。

    # given two finite sequences of unique and hashable data, # return needed opcodes and data needed for reconciliation def set_reconcile(src_seq, dst_seq): "Return required operations to mutate src_seq into dst_seq" src_set= set(src_seq) # no-op if already of type set dst_set= set(dst_seq) # ditto for item in src_set - dst_set: yield 'delete', item for item in dst_set - src_set: yield 'create', item 

    使用方法如下:

     for opcode, datum in set_reconcile(machine1_stuff, machine2_stuff): if opcode == 'create': # act accordingly elif opcode == 'delete': # likewise else: raise RuntimeError, 'unexpected opcode' 

    Synchronizing Keyserver项目在OCaml中实现有效的集合协调。

    需要了解更多c/c++开发分享设置协调算法的实现,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享设置协调算法的实现相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980431.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐