不涉及具体语言也行,能告诉我思路或者给些提示吗?高手请进!!!
公司要做一个协同修改程序,具体要求是:N个人共同通过网络修改一个Office文档,比如说WORD,PowerPoint等。就相当于有一块白板,所有人都可以在上面画,当不会发生冲突那种。
现在有二种思路:
一,每次只能一个人修改,等修改完后提交,然后把修改后的文件传送给请求队列中的下一个人。
二,所有人那里最初都有一份文档的COPY,每次每人对文档的修改部分都能抽象成某些操作,比如:
<删除 位置=,内容=></删除>
然后把这些操作广播出去给其他文档的所有者!
但是我对这两种都不是很满意:
第一种:每次都只能一个人修改,有点违背协同修改这个名次:)
第二种:可能出现某人对某部分进行了删除,但是又有人对该删除部分进行了提交这种矛盾情况。
就算满意也还存在着一些技术问题:
因为不了解Office系列的文件结构,所以希望Microsoft能够提供对2个前后修改文档进行比较并能够将比较结果保存为一段数据的这么一个API,还需要一个能够对这段数据进行解析,并把这段数据导入到修改前的那个文档,使该文档成为修改后的文档的这样一个API。
由于从来没有进行过Office系列这方面的开发,不知道是否存在着这些API!
请各位高手多多指教,我可以另外开帖给分!