CN104717242B - 共享文件的多用户编辑方法、服务器及用户端 - Google Patents

共享文件的多用户编辑方法、服务器及用户端 Download PDF

Info

Publication number
CN104717242B
CN104717242B CN201310681543.XA CN201310681543A CN104717242B CN 104717242 B CN104717242 B CN 104717242B CN 201310681543 A CN201310681543 A CN 201310681543A CN 104717242 B CN104717242 B CN 104717242B
Authority
CN
China
Prior art keywords
stack table
user terminal
shared file
sub
information
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.)
Active
Application number
CN201310681543.XA
Other languages
English (en)
Other versions
CN104717242A (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.)
Hitevision Polytron Technologies Inc
Original Assignee
Hitevision Polytron Technologies Inc
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 Hitevision Polytron Technologies Inc filed Critical Hitevision Polytron Technologies Inc
Priority to CN201310681543.XA priority Critical patent/CN104717242B/zh
Publication of CN104717242A publication Critical patent/CN104717242A/zh
Application granted granted Critical
Publication of CN104717242B publication Critical patent/CN104717242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种共享文件的多用户编辑方法、服务器及用户端;所述方法包括步骤:获取用户端首次的共享文件编辑信息,并建立主栈表,将首次的共享文件编辑信息逐条存储于主栈表中;同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的后续的共享文件编辑信息逐条存储于所述多个子栈表中;为每个子栈表添加用户端标签,通过用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系;根据用户端的请求,选择带有相应用户端标签的子栈表,将其与主栈表合成执行栈表,并将执行栈表返回用户端。本发明的方法、服务器和用户端能够节省网络存储和传输资源。

Description

共享文件的多用户编辑方法、服务器及用户端
技术领域
本发明涉及通信技术领域,特别是指一种共享文件的多用户编辑方法、服务器及用户端。
背景技术
随着数据通信和网络存储技术的不断发展,人们可以将本地的文件共享到网络端节省本地存储空间,还能够方便的在其他设备上进行后续的编辑工作;网络端的共享文件也可以供其他用户读取和编辑。上述对于共享文件的应用过程中,共享文件在服务器和多个用户端间传输、存储将大量占用存储资源。同时,在多个用户同时对网络端的共享文件进行编辑时,会产生大量的共享文件副本,占用服务器的存储空间和网络传输资源,影响服务器的工作性能和工作效率。
发明内容
有鉴于此,本发明的目的在于提出一种共享文件的多用户编辑方法、服务器及用户端,能够实现多用户编辑共享文件,同时节省网络存储和传输资源。
基于上述目的本发明提供的一种共享文件的多用户编辑方法,包括以下步骤:
获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述多个子栈表中;
为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系。
优选的,还包括步骤:根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端。
优选的,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。
优选的,合成执行栈表的步骤包括:将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表。
可选的,根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表,并将所述执行栈表返回请求用户端。
优选的,合成执行栈表的步骤还包括:检索所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端是否存在冲突编辑;若是,则终止所述合成执行栈表动作,并向用户端发出提示;若否,则合成所述执行栈表。
优选的,当首次收到用户端发出的请求时,向用户端发送所述共享文件。
优选的,当对共享文件的编辑内容为插入媒体文件时,获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址。
优选的,当所述媒体文件的存储地址为本地地址时,获取并保存所述媒体文件。
优选的,获取并保存所述媒体文件的步骤还包括:判断所述媒体文件的大小是否超过预设阈值;若是,则先对所述媒体文件进行压缩再获取并保存;若否,则直接获取并保存所述媒体文件。
本发明还提供了一种服务器,包括:
主栈表模块,用于获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
子栈表模块,用于同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述多个子栈表中;
关联模块,用于为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系。
优选的,执行模块,用于根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端。
优选的,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。
优选的,所述执行模块用于将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表。
可选的,所述执行模块还用于根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表,并将所述执行栈表返回请求用户端。
优选的,还包括提示模块,用于当所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端存在冲突编辑时,向用户端发出提示。
优选的,所述执行模块还用于当首次收到用户端发出的请求时,向用户端发送所述共享文件。
优选的,当对共享文件的编辑内容为插入媒体文件时,所述主栈表模块和子栈表模块获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址。
优选的,当所述媒体文件的存储地址为本地地址时,所述子栈表模块还用于获取并保存所述媒体文件。
优选的,还包括压缩模块,用于当所述媒体文件的大小超过预设阈值时,对所述媒体文件进行压缩。
本发明还提供了一种共享文件的多用户编辑方法,包括以下步骤:
获取用户端的共享文件编辑信息;
将所述共享文件编辑信息顺序逐条上传至服务器;
优选的,还包括步骤:向所述服务器发送请求,并接收服务器返回的执行栈表,所述执行栈表存储了所有该用户端的共享文件编辑信息。
优选的,所述执行栈表包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。
优选的,接收服务器发送的所述共享文件。
优选的,当对共享文件的编辑内容为插入媒体文件时,获取的所述共享文件编辑信息仅包括所述媒体文件的存储地址。
优选的,当所述媒体文件的存储地址为本地地址时,将所述媒体文件上传至服务器。
优选的,上传所述媒体文件的步骤还包括:判断所述媒体文件的大小是否超过预设阈值;若是,则先对所述媒体文件进行压缩再上传;若否,则直接上传所述媒体文件。
本发明还提供了一种用户端,包括:
获取模块,用于获取用户端的共享文件编辑信息;
上传模块,用于将所述共享文件编辑信息顺序逐条上传至服务器;
优选的,还包括:接收模块,用于向所述服务器发送请求,并接收服务器返回的执行栈表,所述执行栈表存储了所有该用户端的共享文件编辑信息。
优选的,所述执行栈表包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。
优选的,所述接收模块还用于接收服务器发送的所述共享文件。
优选的,当对共享文件的编辑内容为插入媒体文件时,所述获取模块获取的所述共享文件编辑信息仅包括所述媒体文件的存储地址。
优选的,当所述媒体文件的存储地址为本地地址时,所述上传模块还用于将所述媒体文件上传至服务器。
优选的,还包括压缩模块,用于当所述媒体文件的大小超过预设阈值时,对所述媒体文件进行压缩。
从上面所述可以看出,本发明提供的共享文件的多用户编辑方法、服务器及用户端,通过获取用户端的共享文件编辑信息并存储在服务器生成的栈表中,存储的仅为对共享文件的编辑内容而非整个文件,极大的节省了存储资源;同时,将多用户的同步剪辑内容分别单独存储,并在用户请求读取时,生成与其相关联的执行栈表并发送给用户,实现了共享文件的多用户编辑,提高网络资源利用率的同时进一步节约了存储资源。
附图说明
图1为本发明实施例的共享文件的多用户编辑方法流程图;
图2为本发明另一实施例的共享文件的多用户编辑方法中合成执行栈表步骤流程图;
图3为本发明实施例的服务器结构示意图;
图4为本发明实施例的另一共享文件的多用户编辑方法流程图;
图5为本发明实施例的用户端结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明实施例提供了一种共享文件的多用户编辑方法,参考图1,为本发明实施例的共享文件的多用户编辑方法流程图。
本实施例所述的共享文件的多用户编辑方法,包括以下步骤:
步骤101:获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
步骤102:同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述多个子栈表中;
步骤103:为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系。
每有一个使用共享文件并对其进行编辑的用户端,便为该用户端建立一个子栈表,存储其共享文件编辑信息,所述用户端标签作为用户端与子栈表的关联关系的唯一标识。
进一步的,还包括步骤:根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端。
其中,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。具体的,合成执行栈表的步骤包括:将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表。由于所述用户端标签的标识作用,合成的执行栈表也与用户端唯一对应,即执行栈表存储了该用户端所有的编辑信息,通过所述执行栈表以及首次上传的共享文件即可获得经过该用户端编辑的共享文件。
所述的共享文件编辑信息即对共享文件编辑内容的记录信息。所述的共享文件是常规的如word文档、ppt演示文档、图片等等。以word文档为例,对其的编辑信息被逐条记录,如:1.添加文本、2.设定文本格式、3.修改文本内容、4.插入图片。上述的每一条共享文件编辑信息被存储于栈表(主栈表、子栈表或执行栈表,以下统称为栈表)的一个表项中,多条共享文件编辑信息根据操作顺序或是获取顺序存储到栈表中顺序排列设置的多个表项中。经过编辑的文件的存储形式不是一个单独的文件,而是首次上传的共享文件+栈表。用户端通过本实施例中合成执行栈表的步骤能够读取、下载所述共享文件,根据用户端的请求,向用户端发送执行栈表以及共享文件后,用户端在读取时,先后读取共享文件和栈表,根据栈表存储的编辑信息,在共享文件上完成相应编辑后生成的文件即为要读取的编辑后的文件。以共享文件为基础,在进行传送、复制时,仅需传送、复制该栈表,节约了存储和传输资源;对于多个用户,首次获取共享文件时,仅获取首次上传的共享文件,结合后续的存储该用户编辑信息的栈表,即可读取编辑后的共享文件。
栈表中存储的所述共享文件编辑信息的一种可选实施方式为json格式的字符串。共享文件编辑信息都存储于栈表中,因此首次上传的共享文件始终保持不变,且编辑过程中的栈表的内容始终存储在内存中,以保证较快的数据存储速度;而编辑后保存的新文件则为首次上传的共享文件+栈表,此时,栈表从内存中转为存储在外存中的xml格式的文件。
本实施例中所述被编辑的共享文件可以是类似PPT的课件类型的文件,其中可包括多个页面(如同PPT中的每一页幻灯片),所述共享文件编辑信息则可以包括三层级别:文件级、页面级和对象级。
下面以json格式的字符串为例,举例描述所述三层级别对应的字符串示例:
1、文件级别
新建文件:type="IP"Version="0"Content="ID='1234567890'Name='2013-10-28-9-49-11'";
删除文件:type="DP"Version="1"Content="ID='1234567890'";
更新文件:
type="UP"Version="2"Content="ID='1234567890'ActiveSlide='9876543210″′;
2、页面级别
新建页面:type="IS"Version="3"Content="ID='9876543210'Color='white'";
删除页面:type="DS"Version="4"Content="ID='9876543210'";
更新页面:type="US"Version="5"Content="ID='9876543210'Color='red'";
3、对象级别
新建对象:
type="II"Version="6"SlideID="9876543210"Content="ID='3216549870'DataX='123,0,1,0,1'DataY='234,0,1,0,1'";
删除对象:
type="DI"Version="7"SlideID="9876543210"Content="ID='3216549870'";更新对象:
type="UI"Version="8"SlideID="9876543210"Content="ID='3216549870'Width='4'"。
参考图2,为本发明另一实施例的共享文件的多用户编辑方法中合成执行栈表步骤流程图。
作为另一个实施例,合成执行栈表步骤还包括:
步骤201:根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表;
步骤202:检索所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端是否存在冲突编辑;若是,则触发步骤203;若否,则触发步骤204;
步骤203:终止所述合成执行栈表动作,并向用户端发出提示;
步骤204:合成所述执行栈表。
一个用户端可以请求使用带有其他用户端标签的子栈表与主栈表合成执行栈表,但带有不同用户端标签的子栈表存储的共享文件编辑信息与请求合成执行栈表用户端间可能存在冲突编辑,例如,共享文件编辑信息包括将文本编辑成特定字体,但该用户端并没有存储该字体;出现冲突编辑可能导致合成的执行栈表不能用于将共享文件正确、有效的读取,故在合成执行栈表时,进一步的检索所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端是否存在冲突编辑;存在冲突编辑时,终止当前的合成执行栈表动作,同时向请求用户端发出提示;不存在冲突编辑时,则正常完成合成执行栈表的步骤。
在本发明的共享文件的多用户编辑方法实施例中,对于存储于栈表中的共享文件编辑信息,当对共享文件的编辑内容为插入媒体文件时,获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址。所述的媒体文件一般包括图片、音频、视频,媒体文件一般占用存储空间较大,在栈表中存储编辑信息时,如果将媒体文件直接存储则会使栈表过大,不利于节省存储空间,所以在本发明实施例中,共享文件编辑仅存储媒体文件的存储地址,读取执行栈表时,根据存储地址找到该媒体文件并完成编辑。
编辑共享文件所使用的媒体文件可能存储在本地的本地文件,也可能是网络中的网络文件。若媒体文件是网络文件,在读取执行栈表时,根据存储地址找到网络上的该媒体文件,完成编辑;若媒体文件是本地文件,则获取并保存所述媒体文件,使得其他用户端请求读取共享文件时,可以正常的读取栈表并完成栈表存储的编辑。
进一步的,为防止媒体文件太大而占用过多的存储空间,获取并保存所述媒体文件的步骤还包括:判断所述媒体文件的大小是否超过预设阈值;若是,则先对所述媒体文件进行压缩再获取并保存;若否,则直接获取并保存所述媒体文件。预先设定限制获取的媒体文件的大小的阈值,如阈值为300MB,即当要获取大于300MB的媒体文件时,需要先进行压缩。相应的,在读取存储由压缩过的媒体文件的相关栈表表项时,先对该媒体文件进行解压缩,再完成将媒体文件插入共享文件的编辑动作。
本发明还提供了一种服务器,参考图3,为本发明实施例的服务器结构示意图。
所述的服务器包括:
主栈表模块301,用于获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
子栈表模块302,用于同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述多个子栈表中;
关联模块303,用于为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系。
进一步的,为实现共享文件的读取、下载,本实施例的服务器还包括:
执行模块304,用于根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端。
其中,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。具体的,所述执行模块304用于将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表。
作为一个实施例,所述执行模块304还用于根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表,并将所述执行栈表返回请求用户端。进一步的,本实施例的服务器还包括提示模块305,用于当所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端存在冲突编辑时,向用户端发出提示;在向用户端发出提示的同时,终止当前的栈表合成动作,以防止合成的执行栈表不能用于将共享文件正确、有效的读取。
所述执行模块304还用于当首次收到用户端发出的请求时,向用户端发送所述共享文件,供其他用户端下载首次上传的共享文件,并结合执行栈表读取出编辑后的共享文件。
进一步的,当对共享文件的编辑内容为插入媒体文件时,所述主栈表模块301和子栈表模块302获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址。其中,当媒体文件存储在网络上,即其存储地址为网络地址时,则直接从网络上获取该媒体文件;当媒体文件存储在本地,主栈表模块301和子栈表模块302存储的其存储地址为本地地址时,则从本地获取该媒体文件。将媒体文件保存在服务器上,以供其他用户端下载或读取共享文件是使用,其他用户端可以在生成其对应的执行栈表时同时下载该媒体文件,用于在地读取执行栈表时,完整、正确的打开共享文件。
本实施例所述的服务器中,还包括压缩模块306,用于当所述媒体文件的大小超过预设阈值时,对所述媒体文件进行压缩,进一步节约存储空间,且所述压缩模块306使用常用的压缩协议进行压缩,在服务器端和任意用户端都可以顺利的进行压缩、解压,同时,在服务器和用户端的文件传输过程中,压缩过的文件可以节省网络传输资源。
本发明实施例还提供了一种共享文件的多用户编辑方法,参考图4,为本发明实施例的另一共享文件的多用户编辑方法流程图。
本实施例所述的共享文件的多用户编辑方法,包括以下步骤:
步骤401:获取用户端的共享文件编辑信息;
所述的共享文件编辑信息包括对共享文件所包括的文件、页面、对象的各种编辑操作,包括但不限于:文件的重命名、页面数量的增减、页面属性的改变、对象数量的增减,对象属性的改变等等。
步骤402:将所述共享文件编辑信息顺序逐条上传至服务器;
以一次对共享文件的编辑操作记录为一条共享文件编辑信息,将先后获取的数条共享文件编辑信息逐条上传至服务。在服务器端,以上传的次数为分隔,将首次上传的对于一个共享文件的数条共享文件编辑信息逐条存储于包括多个顺序排列的表项的主栈表中,将后续的共享文件编辑信息逐条存储于同样包括多个顺序排列的表项的子栈表中。
其他用户端可以对服务器上的共享文件进行编辑、读取或下载,当一个用户端对另一用户端首次编辑并上传的共享文件进行编辑时,当前进行编辑的用户端上传的共享文件编辑信息存储在另一子栈表中,该子栈表与其存储的共享文件编辑信息的来源用户端一一对应;对于每一个编辑共享文件的用户端,均单独建立一个子栈表,用于存储该用户端的共享文件编辑信息。
进一步的,为实现共享文件的读取、下载,还包括步骤:向所述服务器发送请求,并接收服务器返回的执行栈表,所述执行栈表存储了所有该用户端的共享文件编辑信息。
向服务器发送请求,请求读取该共享文件;服务器接收请求后,将主栈表和对应于发出请求的请求用户端的子栈表合成执行栈表,将该执行栈表返回至请求用户端。用户端接收服务器返回的执行栈表,所述的执行栈表包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息,该执行栈表存储了所有该用户端的共享文件编辑信息。
作为优选实施例,在用户端端读取一个非其上传的共享文件时,同时接收服务器发送的该共享文件和执行栈表,完成共享文件的正确、完整读取。
当对共享文件的编辑内容为插入媒体文件时,获取的所述共享文件编辑信息仅包括所述媒体文件的存储地址。其中,当所述媒体文件的存储地址为本地地址时,将所述媒体文件上传至服务器。进一步的,在上传所述媒体文件时,首先判断所述媒体文件的大小是否超过预设阈值;若是,则先对所述媒体文件进行压缩再上传;若否,则直接上传所述媒体文件。
本发明实施例还提供了一种用户端,参考图5,为本发明实施例的用户端结构示意图。
本实施例的用户端,包括:
获取模块501,用于获取用户端的共享文件编辑信息;
上传模块502,用于将所述共享文件编辑信息顺序逐条上传至服务器;
进一步的,为实现共享文件的读取、下载,还包括:
接收模块503,用于向所述服务器发送请求,并接收服务器返回的执行栈表,所述执行栈表存储了所有该用户端的共享文件编辑信息。
其中,所述接收模块503接收到的服务器返回的执行栈表包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息。
其他用户端对共享文件进行读取、下载时,需要使用首次上传的共享文件,相应的,用户端在读取、下载其他用户端上传的共享文件时,其接收模块503还用于接收服务器发送的所述共享文件。
当对共享文件的编辑内容为插入媒体文件时,所述获取模块501获取的所述共享文件编辑信息仅包括所述媒体文件的存储地址。当所述媒体文件的存储地址为本地地址时,所述上传模块502还用于将所述媒体文件上传至服务器。进一步为了节省服务器的存储资源以及网络传输资源,本实施例的用户端还包括压缩模块504,用于当所述媒体文件的大小超过预设阈值时,对所述媒体文件进行压缩,上传模块502将压缩过的媒体文件上传至服务器。
综合上述所有实施例,本发明提供了一种服务器、一种用户端以及分别对应于服务器和用户端的共享文件的多用户编辑方法,一个用户端将一个共享文件共享到网络端后(即将共享文件上传至服务器后),该用户端和/其他用户端能够对该共享文件进行编辑,并通过栈表(主栈表、子栈表、执行栈表)记录编辑信息;通过首次上传的共享文件、执行栈表(主栈表与子栈表合成)实现对共享文件的读取、下载。对于不同用户端生成并存储与其唯一对应的子栈表,实现了多用户对共享文件的同时或不同时编辑;通过栈表+共享文件的形式实现对共享文件的存储和传输,节约了网络存储资源和网络传输资源。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何编辑、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种共享文件的多用户编辑方法,其特征在于,包括以下步骤:
获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述子栈表中;当对共享文件的编辑内容为插入媒体文件时,获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址;
为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系;
根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端;合成执行栈表的步骤包括:将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表;
其中,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息;
所述方法还包括步骤:根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表,并将所述执行栈表返回请求用户端;
所述合成执行栈表的步骤还包括:检索所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端是否存在冲突编辑;若是,则终止所述合成执行栈表动作,并向用户端发出提示;若否,则合成所述执行栈表;
所述方法还包括步骤:当首次收到用户端发出的请求时,向请求用户端发送所述共享文件;
所述方法还包括步骤:当所述媒体文件的存储地址为本地地址时,获取并保存所述媒体文件;获取并保存所述媒体文件的步骤还包括:判断所述媒体文件的大小是否超过预设阈值;若是,则先对所述媒体文件进行压缩再获取并保存;若否,则直接获取并保存所述媒体文件。
2.一种服务器,其特征在于,包括:
主栈表模块,用于获取用户端首次的共享文件编辑信息,并建立主栈表,将所述首次的共享文件编辑信息逐条存储于所述主栈表中;
子栈表模块,用于同时获取多个不同用户端后续的共享文件编辑信息,并建立相应数量的子栈表,分别将不同用户端的所述后续的共享文件编辑信息逐条存储于所述子栈表中;当对共享文件的编辑内容为插入媒体文件时,所述主栈表模块和子栈表模块获取并存储的所述共享文件编辑信息仅包括所述媒体文件的存储地址;当所述媒体文件的存储地址为本地地址时,所述子栈表模块还用于获取并保存所述媒体文件;
关联模块,用于为每个所述子栈表添加用户端标签,通过所述用户端标签使所述子栈表与其存储的共享文件编辑信息的来源用户端建立一一对应的关联关系;
执行模块,用于根据用户端的请求,选择带有相应用户端标签的子栈表,将其与所述主栈表合成执行栈表,并将所述执行栈表返回用户端;所述执行模块用于将所述子栈表的首表项接续在所述主栈表的尾表项之后以合成所述执行栈表;所述执行模块还用于根据用户端请求,将所述主栈表与带有其他用户端标签的子栈表合成执行栈表,并将所述执行栈表返回请求用户端;所述执行模块还用于当首次收到用户端发出的请求时,向用户端发送所述共享文件;
其中,所述主栈表、子栈表和执行栈表均包括多个顺序排列的表项,每个所述表项用于存储一条共享文件编辑信息;
所述服务器还包括提示模块,用于当所述带有其他用户端标签的子栈表存储的共享文件编辑信息相对于请求用户端存在冲突编辑时,向用户端发出提示;
所述服务器还包括压缩模块,用于当所述媒体文件的大小超过预设阈值时,对所述媒体文件进行压缩。
CN201310681543.XA 2013-12-12 2013-12-12 共享文件的多用户编辑方法、服务器及用户端 Active CN104717242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310681543.XA CN104717242B (zh) 2013-12-12 2013-12-12 共享文件的多用户编辑方法、服务器及用户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310681543.XA CN104717242B (zh) 2013-12-12 2013-12-12 共享文件的多用户编辑方法、服务器及用户端

Publications (2)

Publication Number Publication Date
CN104717242A CN104717242A (zh) 2015-06-17
CN104717242B true CN104717242B (zh) 2018-12-25

Family

ID=53416202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310681543.XA Active CN104717242B (zh) 2013-12-12 2013-12-12 共享文件的多用户编辑方法、服务器及用户端

Country Status (1)

Country Link
CN (1) CN104717242B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708941B (zh) * 2016-11-24 2019-07-30 厦门亿力吉奥信息科技有限公司 电网多任务在线协同编辑方法
CN113132772B (zh) * 2019-12-30 2022-07-19 腾讯科技(深圳)有限公司 一种互动媒体的生成方法和装置
CN112232040B (zh) * 2020-12-17 2021-04-16 北京联想协同科技有限公司 在线文档的编辑方法及装置
CN113688121B (zh) * 2021-10-27 2022-03-01 飞狐信息技术(天津)有限公司 多人协作的内容管理方法、相关装置及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020026A (zh) * 2012-11-15 2013-04-03 无锡永中软件有限公司 协同文档处理系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020026A (zh) * 2012-11-15 2013-04-03 无锡永中软件有限公司 协同文档处理系统及方法

Also Published As

Publication number Publication date
CN104717242A (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
CN104717239A (zh) 共享文件的协同编辑方法、服务器及用户端
CN103826159B (zh) 一种m3u8格式视频的本地离线播放方法和终端
US7966355B2 (en) Interface for extending functionality of memory cards
CN103179156B (zh) 一种图片分享方法、系统及设备
CN104717242B (zh) 共享文件的多用户编辑方法、服务器及用户端
CN105516618B (zh) 一种制作视频的方法、装置及通信终端
TWI522815B (zh) 直接相片分享系統
CN104750372B (zh) 一种文件共享方法和装置
CN101977218A (zh) 一种互联网播放文件转码方法和系统
CA2561102A1 (en) System and method for music synchronization in a mobile device
US8533294B2 (en) Terminal device and content data processing method
CN108647313A (zh) 一种实时生成演唱视频的方法和系统
CN102694831A (zh) 移动终端流媒体数据补偿方法与系统、内容分发网络
CN103136348A (zh) 一种文件显示方法及装置
CN106412239A (zh) 一种控制蓝牙耳机的方法及蓝牙耳机
CN106488334A (zh) 一种视频直播互动方法及系统
CN105824895A (zh) 一种ktv点歌方法和系统
CN110290396A (zh) 一种视频处理的方法、装置、系统、设备和存储介质
CN105872857B (zh) 一种处理视频的方法、装置及电子设备
JP2008250587A (ja) コンテンツリスト作成装置およびコンテンツリスト作成プログラム
CN106878145A (zh) 一种自定义图片的显示方法、显示装置及显示系统
CN104717241A (zh) 文件网络共享方法、终端及服务器
JP6642016B2 (ja) 配信装置および情報機器
CN104539606B (zh) 基于Upnp的音频文件管理方法、装置和系统
CN105659227B (zh) 一种信息传送方法及客户端、服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: C1104 room 100085 Beijing city Haidian District Third Street No. 9 C

Applicant after: Hitevision Polytron Technologies Inc

Address before: C1104 room 100085 Beijing city Haidian District Third Street No. 9 C

Applicant before: HONGHE TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant