CN103248648B - 一种实现共享数据编辑的方法及装置 - Google Patents
一种实现共享数据编辑的方法及装置 Download PDFInfo
- Publication number
- CN103248648B CN103248648B CN201210028282.7A CN201210028282A CN103248648B CN 103248648 B CN103248648 B CN 103248648B CN 201210028282 A CN201210028282 A CN 201210028282A CN 103248648 B CN103248648 B CN 103248648B
- Authority
- CN
- China
- Prior art keywords
- data
- signature
- trnascription
- user
- data signature
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种实现共享数据编辑的方法及装置。该方法包括:接收用户发送的数据编辑请求,将存储的数据副本及该数据副本的数据签名输出至用户;接收用户提交的已编辑数据副本及所述数据签名,匹配用户提交的数据签名与存储的输出至该用户的数据签名;确定数据签名匹配,将存储的数据副本更新为所述已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新所述存储的数据签名。应用本发明,可以提高共享数据的协同编辑效率。
Description
技术领域
本发明涉及计算机通信技术,特别涉及一种实现共享数据编辑的方法及装置。
背景技术
随着计算机通信技术的发展,基于计算机支持的协同工作(CSCW,ComputerSupportedCooperativeWork)可以通过共享数据资源,协调两个或者两个以上的不同资源或者个体进行协同编辑数据,以协同一致地完成某一目标。
目前,在进行协同数据编辑时,常采用的方法是对共享数据不进行任何控制,用户通过客户端从服务器获取共享数据内容,即获取数据副本,编辑后直接向服务器提交修改的数据。这样,由于不进行协同编辑的控制,一旦同一时间多个用户将编辑的共享数据进行提交的操作,则会出现提交的数据副本混乱,造成提交服务器的共享数据内容相互冲突,数据内容安全性没有保障。
为了避免多人同时提交编辑的数据副本导致的共享数据内容相互冲突的技术问题,提出的改进方法是实现共享数据的唯一性编辑及提交,即在多人需要协同编辑共享数据时,为服务器的共享数据设定数据锁。当用户发送获取服务器的数据副本请求时,服务器向用户返回数据副本以及具有编辑权限的数据锁,同时使用数据锁锁定数据以避免其他用户继续读取数据副本。当用户编辑完成后,通过向服务器提交修改的数据副本以及数据锁,服务器依据接收的数据锁解除共享数据的锁定,并根据用户提交的数据副本更新存储的共享数据。在解除锁定后,其他用户可以请求对共享数据的编辑权限。也就是说,当用户A请求对共享数据的数据锁锁定后,在数据锁被归还前,其他用户不能直接获取该共享数据的数据锁,因而不能获取共享数据的编辑权,即不能从服务器获取数据副本,从而实现了共享数据的唯一性编辑和提交,避免了提交服务器的共享数据内容的相互冲突。
由上述可见,现有实现共享数据唯一性编辑的方法,如果共享数据被某一用户恶意长期锁定,将影响其他用户的编辑,达不到协同工作的目的,使得共享数据的协同编辑效率较低。
发明内容
有鉴于此,本发明的主要目的在于提出一种实现共享数据编辑的方法,提高共享数据的协同编辑效率。
本发明的另一目的在于提出一种实现共享数据编辑的装置,提高共享数据的协同编辑效率。
为达到上述目的,本发明提供了一种实现共享数据编辑的方法,该方法包括:
接收用户发送的数据编辑请求,将存储的数据副本及该数据副本的数据签名输出至用户;
接收用户提交的已编辑数据副本及所述数据签名;
匹配用户提交的数据签名与存储的输出至该用户的数据签名;
确定数据签名匹配,将存储的数据副本更新为所述已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新所述存储的数据签名。
在生成新数据签名后,进一步包括:
向用户返回提交成功信息,该信息包含新数据签名。
该方法进一步包括:
确定数据签名不匹配,向用户返回提交失败信息。
所述数据签名包括:更新数据副本当前时间以及采用消息摘要算法对更新的数据副本进行计算获取的加密字符串。
所述数据副本支持可扩展标记语言格式、轻量级的数据交换格式对象声明格式或自定义文本格式。
所述数据副本以及数据编辑请求通过超文本传输协议请求接口传输。
一种实现共享数据编辑的装置,该装置包括:数据编辑请求处理模块、数据副本处理模块、数据签名匹配模块以及存储模块,其中,
数据编辑请求处理模块,接收用户发送的数据编辑请求,将存储模块存储的数据副本及该数据副本的数据签名输出至用户;
数据副本处理模块,接收用户提交的已编辑数据副本及数据签名;
数据签名匹配模块,用于匹配用户提交的数据签名与存储的输出至该用户的数据签名;确定数据签名匹配,将存储模块存储的数据副本更新为已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新存储模块存储的数据签名;
存储模块,存储数据副本及其对应的数据签名。
进一步包括:
显示模块,用于在所述数据签名匹配模块生成新数据签名后,向用户显示提交成功信息,该信息包含新数据签名;或
用于在所述数据签名匹配模块确定数据签名不匹配后,向用户显示提交失败信息。
由上述的技术方案可见,本发明实施例提供的一种实现共享数据编辑的方法及装置,接收用户发送的数据编辑请求,将存储的数据副本及该数据副本的数据签名输出至用户;接收用户提交的已编辑数据副本及所述数据签名,匹配用户提交的数据签名与存储的输出至该用户的数据签名;确定数据签名匹配,将存储的数据副本更新为所述已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新所述存储的数据签名。这样,对请求数据编辑的用户,将存储的数据副本及该数据副本的数据签名输出,避免了共享数据被某一用户恶意长期锁定造成的其他用户无法编辑的情况,从而提高了共享数据的协同编辑效率;依据用户提交的数据签名进行匹配,在匹配成功时更新存储的数据副本并动态生成数据签名,可以避免提交服务器的共享数据内容的相互冲突。
附图说明
图1为本发明实施例的实现共享数据编辑的方法流程示意图。
图2为本发明实施例服务器输出的数据副本结构示意图。
图3为本发明实施例服务器将数据副本输出至用户的流程示意图。
图4为本发明实施例用户完成编辑的数据副本结构示意图。
图5为本发明实施例用户将完成编辑的数据副本提交到服务器的示意图。
图6为本发明实施例用户将数据副本输出至服务器的流程示意图。
图7为本发明实施例的实现共享数据编辑的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
签名是数据的唯一标识,当对数据进行修改后,修改前的数据签名与修改后的数据签名不同。本发明实施例中,考虑通过动态形成的数据签名来取代数据锁的操作,并对服务器存储的数据副本不执行锁定,避免了共享数据被某一用户恶意长期锁定造成的其他用户无法编辑的情况,并依据用户提交的数据签名,与存储的数据签名进行匹配,在匹配成功时更新存储的数据副本并动态生成数据签名,以此避免提交服务器的共享数据内容的相互冲突,从而提高共享数据的协同编辑效率。即通过统一的签名算法为数据提供对应的签名,用户在获取数据副本的同时得到数据签名,当用户编辑完成后提交数据,将数据签名一同提交,服务器通过比对用户提交的数据签名与自身存储的数据签名,当数据签名一致时,保存用户提交的数据,并根据提交的数据重新生成数据签名,返回新数据签名给用户;当签名不一致时,服务器向用户返回失败信息,用户接收到失败信息后,可以重新获取数据副本及数据签名,然后进行修改后提交。
图1为本发明实施例的实现共享数据编辑的方法流程示意图。参见图1,该流程包括:
步骤101,接收用户发送的数据编辑请求,将存储的数据副本及该数据副本的数据签名输出至用户;
本步骤中,服务器使用更新时的数据副本当前时间作为数据签名,当然,也可以使用其他数据签名算法生成数据签名,只需要保证同一份数据的数据签名不重复即可,即数据签名是动态生成的。例如,数据签名可采用消息摘要算法(MD5,MessageDigestAlgorithm)等加密算法对更新时的数据内容进行计算,获取MD5加密字符串作为数据签名。
服务器以数据副本为标识将数据副本存储在数据库中。
服务器提供获取数据副本的接口以及用户提交数据副本的接口。
其中,
数据编辑请求通过服务器提供的超文本传输协议(HTTP,HypertextTransferProtocol)请求接口传输,用户根据该HTTP接口发送数据编辑请求以请求待编辑的数据,数据副本也可以通过该HTTP接口输出至相应的用户。
服务器存储的数据副本支持可扩展标记语言(XML,ExtensibleMarkupLanguage)格式、轻量级的数据交换格式对象声明(JSON,JavaScriptObjectNotation)格式或自定义文本格式。
对于xml,存储的数据副本格式如下:
<data><content>数据副本</content><sign>签名</sign></data>
对于json,存储的数据副本格式如下:
{content:{数据副本},sign:”签名”}
实际应用中,在服务器更新存储的数据副本之前,如果多个用户同时或先后向服务器请求数据副本,则服务器分别向各用户输出存储的数据副本及该数据副本的数据签名,即各用户获取的数据副本及数据签名均相同。
图2为本发明实施例服务器输出的数据副本结构示意图。参见图2,数据副本设置有提交控件,其标识为1031,签名为:(2011-06-1716:11:53),包括:豆浆机、微波炉、电磁器、榨汁机、酸奶机、电水壶、电压力锅、电饭煲以及更多九项内容,每项内容可以进行修改或查看操作。
图3为本发明实施例服务器将数据副本输出至用户的流程示意图。参见图3,服务器在接收到数据编辑请求,从数据库中读取数据副本及数据签名,在获取到数据副本接口(http请求接口)后,将数据副本以及数据签名输出至用户,其中数据副本的内容以二进制表示。
步骤102,接收用户提交的已编辑数据副本及数据签名,匹配用户提交的数据签名与存储的输出至该用户的数据签名;
本步骤中,服务器提供http请求接口,用户通过表单提交xml格式、json格式或自定义文本格式的数据副本到http请求接口中,通过http请求接口传输至服务器。
对于xml,提交的数据副本格式如下:
<data><content>数据副本</content><sign>签名</sign></data>
对于json,提交的数据副本格式如下:
{content:{数据副本},sign:”签名”}
图4为本发明实施例用户完成编辑的数据副本结构示意图。参见图4,数据副本与图2相类似,不同的是,对于豆浆机中的数据进行了修改。
图5为本发明实施例用户将完成编辑的数据副本提交到服务器的示意图。参见图5,通过http请求接口向服务器提交数据副本及其数据签名。
步骤103,确定数据签名匹配,将存储的数据副本更新为已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新存储的数据签名。
本步骤中,服务器根据用户提交的数据副本,取出数据库中对应数据副本的数据签名,对比用户提交的数据签名,如果用户提交的数据签名与存储的数据签名一致,根据用户提交的已编辑数据副本生成新数据签名,并将存储的数据副本更新为已编辑数据副本,存储新数据签名。
进一步地,在生成新数据签名后,包括:
步骤104,向用户返回(显示)提交成功信息,该信息包含新数据签名。
本步骤中,提交成功信息格式如下:
对于xml:
<data><result>成功</result><sign>签名</sign>
对于json:
{result:”成功”,sign:”签名”}
当然,实际应用中,服务器也可以将更新的数据副本以及新数据签名输出至用户,这样,用户可以基于新的数据副本进行编辑,并可以在编辑后,将编辑的数据副本以及新的数据签名提交到服务器。
较佳地,该方法还进一步包括:
确定数据签名不匹配,向用户返回提交失败信息。
本步骤中,如果用户数据签名不一致,即用户提交数据副本的数据签名与服务器存储的对应的数据副本的数据签名不一致,则返回提交失败信息。
如前所述,在解除了服务器对数据副本的锁定后,各用户可以从服务器获取数据副本进行编辑,为了避免各用户提交服务器的共享数据内容的相互冲突,本发明实施例中,通过数据签名的匹配,服务器在用户的数据签名匹配成功后,根据新提交的数据副本生成新的数据签名,使得获取同一数据签名,但后需提交已编辑数据副本的用户提交的数据签名匹配不成功。这样,即有效防止了某一用户恶意长期锁定造成的其他用户无法编辑的情况,也避免了提交服务器的共享数据内容的相互冲突。
提交失败信息格式如下:
对于xml:
<data><result>失败</result></data>
对于json:
{result:”失败”}
用户接收到提交失败信息后,可以通过重新从服务器获取数据副本以及数据签名,继续编辑后提交。
图6为本发明实施例用户将数据副本输出至服务器的流程示意图。参见图6,用户在编辑好数据副本后,获取数据副本接口(http请求接口),将编辑好的数据副本以及数据签名通过数据副本接口输出至服务器,服务器验证数据签名是否正确,如果不正确,向用户返回提交失败信息,如果验证成功,根据服务器当前时间获取新数据签名,向用户返回提交成功信息,并在数据库中保存新数据副本以及新数据签名。
本发明实施例中,对于多个用户同时获取数据副本以及数据签名的情况,各个用户可以自由编辑,对于已生成新的数据签名后至用户请求新的数据副本编辑的这一段时间里,用户可以保存先前的数据签名,这样,在这段时间里提交编辑的用户,服务器通过匹配,可以确定匹配成功,然后,服务器识别各个用户的修改点,对于修改点不重合的修改,在服务器端自动进行修改合并,对于存在冲突的修改点,将包含修改合并以及存在冲突的修改点数据副本作为新数据副本,生成新数据签名,并替换存储的已编辑的数据副本以及已生成新的数据签名,然后分别发送至对应已提交数据副本的用户,由用户统一协商后提交。
由上述可见,本发明实施例的实现共享数据编辑的方法,对请求数据编辑的用户,将存储的数据副本及该数据副本的数据签名输出,这样,避免了共享数据被某一用户恶意长期锁定造成的其他用户无法编辑的情况,依据用户提交的数据签名,与存储的数据签名进行匹配,在匹配成功时更新存储的数据副本并动态生成数据签名,这样,可以避免提交服务器的共享数据内容的相互冲突,从而提高了共享数据的协同编辑效率;对于签名不一致的情形,服务器向用户返回失败信息,用户接收到失败信息后,可以重新获取数据副本及数据签名,然后在修改后再次进行提交,便于用户自由编辑;而且,通过将更新时的数据副本当前时间作为数据签名,在传输中不需要额外增加字段,减少了数据传输量、节约了网络流量开销。
图7为本发明实施例的实现共享数据编辑的装置结构示意图。参见图7,该装置包括:数据编辑请求处理模块、数据副本处理模块、数据签名匹配模块以及存储模块,其中,
数据编辑请求处理模块,接收用户发送的数据编辑请求,将存储模块存储的数据副本及该数据副本的数据签名输出至用户;
数据副本处理模块,接收用户提交的已编辑数据副本及数据签名;
数据签名匹配模块,用于匹配用户提交的数据签名与存储的输出至该用户的数据签名;确定数据签名匹配,将存储模块存储的数据副本更新为已编辑数据副本,并根据更新后的数据副本生成新数据签名,更新存储模块存储的数据签名;
存储模块,存储数据副本及其对应的数据签名。
较佳地,该装置进一步包括:
显示模块,用于在数据签名匹配模块生成新数据签名后,向用户显示提交成功信息,该信息包含新数据签名;或
用于在数据签名匹配模块确定数据签名不匹配后,向用户显示提交失败信息。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种实现共享数据编辑的方法,其特征在于,该方法包括:
接收用户发送的数据编辑请求,将存储的数据副本及用加密算法对该数据副本计算得到的、是该数据副本的唯一标识的数据签名输出至用户;
接收用户提交的已编辑数据副本及数据签名;
匹配用户提交的数据签名与存储的输出至该用户的数据签名;
确定数据签名匹配,将存储的数据副本更新为所述已编辑数据副本,并根据更新后的数据副本,用加密算法生成是该更新后的数据副本的唯一标识的新数据签名,更新所述存储的数据签名。
2.如权利要求1所述的方法,其特征在于,在生成新数据签名后,进一步包括:
向用户返回提交成功信息,该信息包含新数据签名。
3.如权利要求2所述的方法,其特征在于,该方法进一步包括:
确定数据签名不匹配,向用户返回提交失败信息。
4.如权利要求1至3任一项所述的方法,其特征在于,所述数据签名包括:更新数据副本当前时间以及采用消息摘要算法对更新的数据副本进行计算获取的加密字符串。
5.如权利要求4所述的方法,其特征在于,所述数据副本支持可扩展标记语言格式、轻量级的数据交换格式、对象声明格式或自定义文本格式。
6.如权利要求5所述的方法,其特征在于,所述数据副本以及数据编辑请求通过超文本传输协议请求接口传输。
7.一种实现共享数据编辑的装置,其特征在于,该装置包括:数据编辑请求处理模块、数据副本处理模块、数据签名匹配模块以及存储模块,其中,
数据编辑请求处理模块,接收用户发送的数据编辑请求,将存储模块存储的数据副本及用加密算法对该数据副本计算得到的、是该数据副本的唯一标识的数据签名输出至用户;
数据副本处理模块,接收用户提交的已编辑数据副本及数据签名;
数据签名匹配模块,用于匹配用户提交的数据签名与存储的输出至该用户的数据签名;确定数据签名匹配,将存储模块存储的数据副本更新为已编辑数据副本,并根据更新后的数据副本,用加密算法生成是该更新后的数据副本的唯一标识的新数据签名,更新存储模块存储的数据签名;
存储模块,存储数据副本及其对应的数据签名。
8.如权利要求7所述的装置,其特征在于,进一步包括:
显示模块,用于在所述数据签名匹配模块生成新数据签名后,向用户显示提交成功信息,该信息包含新数据签名;或
用于在所述数据签名匹配模块确定数据签名不匹配后,向用户显示提交失败信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210028282.7A CN103248648B (zh) | 2012-02-09 | 2012-02-09 | 一种实现共享数据编辑的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210028282.7A CN103248648B (zh) | 2012-02-09 | 2012-02-09 | 一种实现共享数据编辑的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103248648A CN103248648A (zh) | 2013-08-14 |
CN103248648B true CN103248648B (zh) | 2016-03-09 |
Family
ID=48927870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210028282.7A Active CN103248648B (zh) | 2012-02-09 | 2012-02-09 | 一种实现共享数据编辑的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103248648B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250466B2 (en) * | 2016-03-29 | 2019-04-02 | Juniper Networks, Inc. | Application signature generation and distribution |
CN108229198A (zh) * | 2016-12-21 | 2018-06-29 | 天脉聚源(北京)科技有限公司 | 一种管理编辑权限的方法和系统 |
CN107491429B (zh) * | 2017-08-18 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | 一种解决同时编辑文档内容冲突的方法 |
CN109120707B (zh) * | 2018-08-30 | 2021-06-25 | 徐州瑞晨矿业科技发展有限公司 | 一种矢量图形化数据远程分享和实时协同参照的方法 |
CN109558448B (zh) * | 2018-10-10 | 2021-04-06 | 北京海数宝科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110099119B (zh) * | 2019-05-07 | 2023-03-21 | 阿波罗智联(北京)科技有限公司 | 数据共享方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003015370A2 (en) * | 2001-08-10 | 2003-02-20 | Cryptomathic A/S | Data certification method and apparatus |
CN1411260A (zh) * | 2001-10-10 | 2003-04-16 | 明日工作室股份有限公司 | 有线平台与无线平台之间共享数据的方法以及系统 |
CN1860788A (zh) * | 2003-05-16 | 2006-11-08 | 比卡萨有限公司 | 用于通过网络图像共享的方法和系统 |
-
2012
- 2012-02-09 CN CN201210028282.7A patent/CN103248648B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003015370A2 (en) * | 2001-08-10 | 2003-02-20 | Cryptomathic A/S | Data certification method and apparatus |
CN1411260A (zh) * | 2001-10-10 | 2003-04-16 | 明日工作室股份有限公司 | 有线平台与无线平台之间共享数据的方法以及系统 |
CN1860788A (zh) * | 2003-05-16 | 2006-11-08 | 比卡萨有限公司 | 用于通过网络图像共享的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103248648A (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248648B (zh) | 一种实现共享数据编辑的方法及装置 | |
US9768965B2 (en) | Methods and apparatus for validating a digital signature | |
CN101771541B (zh) | 一种用于家庭网关的密钥证书生成方法和系统 | |
EP3953834A1 (en) | Systems, devices, and methods for dlt-based data management platforms and data products | |
MXPA04011432A (es) | Generador de aplicacion. | |
CN104639534A (zh) | 网站安全信息的加载方法和浏览器装置 | |
CN110048855B (zh) | 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 | |
KR20180108763A (ko) | 정보 프로세싱 디바이스, 정보 프로세싱 방법, 및 분산 컴포넌트 | |
US10936360B2 (en) | Methods and devices of batch process of content management | |
CN109862024A (zh) | 一种云管理系统的网络授权协议访问控制方法及系统 | |
CN109471624A (zh) | 基于gosaa的共享数据模型控制系统及数据架构生成方法 | |
CN104038490A (zh) | 一种通信安全校验方法及其装置 | |
CN109982150A (zh) | 智能电视终端的信任链建立方法和智能电视终端 | |
CN110417724A (zh) | 应用程序登录态联合鉴权的方法、系统、服务器及终端 | |
CN103914293B (zh) | 生成页面的方法及服务器 | |
CN114282267A (zh) | 令牌生成方法、令牌验签方法、装置、设备及存储介质 | |
CN115589316B (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
CN117240473A (zh) | 电子合同签署方法、装置、电子设备和存储介质 | |
CN103001775B (zh) | 一种基于企业服务总线的安全管理系统及方法 | |
CN111461718A (zh) | 区块链节点的接入方法、装置及系统 | |
CN115314532A (zh) | 一种配电终端与物联网主站信息交互方法及装置 | |
Abramson et al. | Evaluating trust assurance in Indy-based identity networks using public ledger data | |
CN113836573A (zh) | 基于分布式存储的用户信息处理方法及装置 | |
CN106020919B (zh) | 一种多服务器一键编译的实现方法 | |
CN113364821A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |