CN115767770A - 分布式协作方法、网络、介质及电子设备 - Google Patents
分布式协作方法、网络、介质及电子设备 Download PDFInfo
- Publication number
- CN115767770A CN115767770A CN202211394007.7A CN202211394007A CN115767770A CN 115767770 A CN115767770 A CN 115767770A CN 202211394007 A CN202211394007 A CN 202211394007A CN 115767770 A CN115767770 A CN 115767770A
- Authority
- CN
- China
- Prior art keywords
- network
- cooperation
- collaboration
- equipment
- cooperative
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种分布式协作方法、网络、介质及电子设备。所述分布式协作方法包括:第一设备与协作网络中的设备建立通信连接以加入所述协作网络,所述协作网络为包含一个或多个设备的分布式网络;所述第一设备同步并更新所述协作网络中其他设备的协作对象。所述分布式协作方法不依赖于云端服务器即可实现多设备的协作。
Description
技术领域
本公开涉及一种协作方法,特别是涉及一种分布式协作方法、网络、介质及电子设备。
背景技术
在现有以云端作为文档服务器的方案中,各个设备连接上云端文档服务器,云端文档服务器根据接入设备携带的认证身份信息,判断该接入设备相应的权限(仅查看、可编辑等)。在通过认证鉴权后,各设备与云端文档服务器建立一条或多条持续的数据通道,一方面实时获取云端文档的最新版本并在设备显示界面上实时更新显示,另一方面将用户对文档的修改内容上传至云端文档服务器。云端文档服务器将多方上传的修改内容依照一定的算法做内容合并及冲突解决,在云端生成该文档的最新版本,并将最新版本信息推送到各设备。各设备收到新版本后,向云端文档服务器拉取最新版本内容并最终在设备显示界面上实时更新显示。
然而以云端作为文档服务器进行协作,所有的更新都需要从用户设备发送到云端文档服务器,由云端文档服务器进行合并后再推送回各设备显示,该过程会占用大量的云端计算、网络和存储资源。
发明内容
本公开提供一种分布式协作方法、网络、介质及电子设备,用于解决以云端作为文档服务器时需要用云端服务器进行数据的更新。
第一方面,本公开实施例提供一种分布式协作方法,包括:第一设备与协作网络中的设备建立通信连接以加入所述协作网络,所述协作网络为包含一个或多个设备的分布式网络;所述第一设备同步并更新所述协作网络中其他设备的协作对象。
在第一方面的一种实现方式中,第一设备与协作网络中的设备建立通信连接包括:所述第一设备根据接收到的邀请信号与所述协作网络中的第二设备建立通信连接,所述邀请信号由所述第二设备以广播的形式发送。
在第一方面的一种实现方式中,在所述第一设备加入前,所述协作网络中的设备数量至少为2,所述第一设备与所述协作网络中的设备建立通信连接还包括:所述第一设备从所述第二设备获取所述协作网络中的设备信息,并根据所述设备信息与所述协作网络中的其他设备建立通信连接。
在第一方面的一种实现方式中,所述第一设备与所述协作网络中的其他设备建立通信连接包括:所述第一设备根据所述第二设备的第二设备列表更新第一设备列表,所述第二设备的第二设备列表包括所述第二设备存储的所述协作网络中的设备信息;所述第一设备根据第一设备列表与第三设备建立通信连接,所述第三设备的设备信息包含于所述第一设备的第一设备列表中;所述第一设备与所述第三设备同步并更新第一设备列表、第三设备列表。
在第一方面的一种实现方式中,所述第一设备根据接收到的邀请信号与所述协作网络中的第二设备建立通信连接包括:所述第一设备根据所述邀请信号与所述第二设备进行认证鉴权;在认证鉴权通过后,所述第一设备发送接入请求至所述第二设备,以建立与所述第二设备之间的数据通道,并使所述第二设备更新参与协作的设备信息。
在第一方面的一种实现方式中,所述第一设备根据所述邀请信号与所述第二设备进行认证鉴权包括:所述第一设备向所述第二设备发送认证请求,以在所述第一设备和第二设备之间建立认证通道;所述第一设备通过所述认证通道将其用户信息发送至所述第二设备,以使所述第二设备根据所述第一设备的用户信息进行认证和鉴权。
在第一方面的一种实现方式中,所述第二设备在认证和鉴权完成后发送令牌至所述第一设备,所述第一设备发送接入请求至所述第二设备以建立与所述第二设备之间的数据通道并使所述第二设备更新参与协作的设备信息包括:所述第一设备接收所述第二设备发送的所述令牌;所述第一设备发送携带有所述令牌的连接请求至所述第二设备,以在所述第二设备和所述第一设备之间建立连接通道;所述第一设备通过所述连接通道发送携带有所述令牌的接入请求至所述第二设备,以使所述第二设备根据所述接入请求携带的所述令牌进行有效性验证,若所述有效性验证通过,则所述第二设备更新参与协作的设备信息;所述第一设备建立至少一条与所述第二设备相连接的数据通道。
在第一方面的一种实现方式中,所述第一设备同步并更新所述协作网络中其他设备的协作对象包括:所述第一设备根据所述协作网络中的高版本协作对象更新自身的协作对象,并利用自身的协作对象更新所述协作网络中的低版本协作对象。
在第一方面的一种实现方式中,所述第一设备根据所述协作网络中的高版本协作对象更新自身的协作对象并利用自身的协作对象更新所述协作网络中的低版本协作对象包括:所述第一设备依次获取所述协作网络中其余设备的协作对象的版本;对于所述协作网络中的一第四设备:若所述第四设备的协作对象的版本高于所述第一设备的协作对象的版本,则所述第一设备根据所述第四设备的协作对象更新自身的协作对象,并将更新后的协作对象推送至已遍历过的具有低版本协作对象的设备;若所述第四设备的协作对象的版本低于所述第一设备的协作对象的版本,则所述第一设备将其自身的协作对象推送至所述第四设备,以同步更新所述第四设备的协作对象。
在第一方面的一种实现方式中,所述分布式协作方法还包括:当所述第一设备的协作对象更新时,所述第一设备将更新后的协作对象发送至所述协作网络中的其他设备,以使所述协作网络中的其他设备更新各自的协作对象。
在第一方面的一种实现方式中,所述分布式协作方法还包括:当所述第一设备接收到所述协作网络中的第五设备发送的更新版本时,所述第一设备根据该更新版本更新其自身的协作对象;若更新后所述第一设备的协作对象的版本高于所述第五设备,则所述第一设备将其自身的协作对象发送至所述协作网络中的其他设备,以使其他设备更新各自的协作对象。
第二方面,本公开实施例提供另一种分布式协作方法,所述分布式协作方法包括:当协作网络中第一设备的协作对象更新时,所述第一设备发送更新后的协作对象至所述协作网络中的其他设备,以使其他设备更新各自的协作对象,其中,所述协作网络为包含至少两个设备的分布式网络;当所述第一设备接收到所述协作网络中的第二设备发送的更新版本后,所述第一设备根据所述更新版本更新自身的协作对象。
在第二方面的一种实现方式中,在所述第一设备根据所述更新版本更新自身的协作对象以后,所述分布式协作方法还包括:若所述第一设备的协作对象的版本高于所述第二设备,则所述第一设备发送其自身的协作对象至所述协作网络中的其他设备。
第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开第一方面或本公开第二方面中任一种实现方式所述的分布式协作方法。
第四方面,本公开实施例提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本公开第一方面或本公开第二方面中任一种实现方式所述的分布式协作方法。
第五方面,本公开实施例提供一种分布式协作网络,所述分布式协作网络采用本公开第一方面或本公开第二方面中任一种实现方式所述的分布式协作方法实现设备间的协作。
如上所述,本公开一个或多个实施例中分布式协作方法、网络、介质及电子设备具有以下有益效果:
所述分布式协作方法无需云端服务器即可实现多用户协作,极大地减小了协作对云端资源的需求。
附图说明
图1A和图1B显示为本公开实施例中分布式协作网络的实施环境示例图。
图1C显示为本公开实施例中分布式协作方法的流程图。
图2显示为本公开实施例中设备的系统架构图。
图3A显示为本公开实施例中第一设备与第二设备建立数据通道的流程图。
图3B显示为本公开实施例中步骤S31的详细流程图。
图3C显示为本公开实施例中步骤S32的详细流程图。
图4显示为本公开实施例中不同设备更新设备列表的流程图。
图5显示为本公开实施例中电子设备的结构示意图。
元件标号说明
1a,1b 协作网络
11a,11b 第一设备
12a,12b 第二设备
13b,14b 设备
500 电子设备
510 存储器
520 处理器
530 显示器
S11~S12 步骤
S31~S32 步骤
S311~S312 步骤
S321~S324 步骤
S41~S43 步骤
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图示中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。此外,在本文中,诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
现有的技术方案会以云端作为文档服务器,各个设备连接上云端文档服务器,云端文档服务器根据接入设备携带的认证身份信息,判断该接入设备相应的权限(仅查看、可编辑等)。然而,于此类协作方法中,所有的更新都需要从用户设备发送到云端文档服务器,由文档服务器进行合并后,再推送回各设备显示,该过程会占用大量的云端计算、网络和存储资源。此外,多用户对文档的更新受到网络质量波动的影响,当网络质量较差时难以实现文档的实时更新,从而导致用户体验降低。再者,云端文档服务器通常会要求用户注册个人的身份信息,并且会保存用户所有的文档资料和历史版本信息,在增加用户使用成本的同时也会对带来隐私泄露的风险。
至少针对上述问题,本公开涉及一种分布式协作方法。接下来将通过具体实施例结合附图的方式对本公开涉及的分布式协作方法进行详细介绍。
图1A和图1B分别显示为本公开一实施例中分布式协作方法的实施环境的示例图。于图1A中,分布式协作网络1a在第一设备11a加入之前仅包括设备12a,该设备12a例如可以为分布式协作方法的发起设备。在第一设备11a加入协作之后,分布式协作网络1a包含设备12a和第一设备11a,二者可以同步并更新协作对象。于图1B中,分布式协作网络1b在第一设备11a加入之前包含设备12b、13b和14b,三者同步并更新协作对象。在第一设备11b加入协作之后,分布式协作网络1b包含第一设备11b以及设备12b、13b和14b,此后四者同步并更新协作对象。
本公开实施例中,设备,包括待加入协作网络中的第一设备以及协作网络中已有的设备,可以包括手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等设备上,还可以应用于数据库、服务器以及基于终端人工智能的服务响应系统,本公开实施例对设备的具体类型不作任何限制。
例如,所述设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocalLoop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、电脑、膝上型计算机、手持式通信设备、手持式计算设备、和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动设备、未来演进的公共陆地移动网络(PublicLand MobileNetwork,PLMN)中的移动设备或者未来演进的非地面网络(Non-terrestrial Network,NTN)中的移动设备等。
作为示例而非限定,当所述设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如配置有近场通信模块的手套、手表等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备,通过附着与用户身上,通过预先绑定的电子卡,执行支付、认证等操作。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行具有显示屏的智能手表、智能手环等。
在这些设备中运行有浏览器或者预定的客户端软件或者插件等。诸如部门领导、项目负责人之类的主作者可以通过客户端来创建和取消一个协作会话。在创建协作会话的过程中,可以选择或者邀请若干个其它设备作为协作者,并且对各个协作者进行协作文档的相关权限分配,比如协作文档的查看、编辑、审阅、修订和批注等等。诸如员工、技术支持人员之类的协作者可以通过设备来对协作文档进行编辑。在具体协作时,协作文档可以划分为若干个文档片段,比如每一个段落为一个文档片段。该协作文档的一个设备在同一时间可以选定一个或者几个文档片段进行编辑操作,比如插入或者删除。
设备之间可以根据具体应用场景采用不同的无线通信方式进行连接,所述无线通信技术方式可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivisionmultiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),新无线(new radio,NR),BT(Bluetooth,蓝牙),GNSS(Global Navigation Satellitesystem,全球导航卫星系统),WLAN(如Wi-Fi网络),NFC(Near FieldCommunication,近距离无线通信技术),FM(Frequency Modulation,调频),和/或IR(Infrared,红外)技术等。所述GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)等。
应当理解的是,图1A和图1B仅示例性的示出了协作网络包含1个设备以及3个设备的场景,但本公开并不以此为限,具体应用中协作网络中的数量可以根据具体场景进行配置。此外,设备之间的通信方式同样不以上述描述为限。
图1C显示为本公开实施例中分布式协作方法的流程图。如图1C所示,本公开实施例中分布式协作方法包括以下步骤S11和步骤S12。
S11,第一设备与协作网络中的设备建立通信连接以加入协作网络,协作网络为包含一个或多个设备的分布式网络。
S12,第一设备同步并更新协作网络中其他设备的协作对象。其中,协作对象包括但不限于图像文件、电子表格、音频文件、视频文件、文字处理文件和/或任何其它类型的文件、对象、数据等。
例如,于图1A所示的实施环境中,协作网络1a中仅包含一个设备12a。于步骤S11中,第一设备11a与设备12a相连接以加入协作网络1a。于步骤S12中第一设备11a同步并更新设备12a的协作对象。
又例如,于图1B所示的实施环境中,协作网络1b中包含三个彼此通信连接的设备12b、13b和14b。于步骤S11中,第一设备11b可以与协作网络1b中的任一设备相连接以加入协作网络1b。于步骤S12中第一设备11b同步并更新设备12b、13b和14b的协作对象。
根据以上描述可知,本公开实施例提供的分布式协作方法,无需云端服务器即可实现多用户协作,极大地减小了协作对云端资源的需求。基于本公开实施例提供的分布式协作方法,用户无需将文档保存在云端服务器,同时也无需向云端注册自己的信息,有利于避免用户个人文档和个人信息的隐私泄露,并也有利于降低多人协作的操作门槛。
可选地,图2显示为本公开实施例中设备的整体框架图,该设备包括所有希望加入协作网络的设备,以及协作网络中的已有设备。如图2所示,设备包括会话管理模块、认证鉴权模块以及发现模块。
发现模块用于通过多种设备广播发现协议以及邀请信号生成方式,从而满足多设备在不同网络环境以及空间位置下的相互发现。
认证鉴权模块用于实现设备之间的认证鉴权。在一些可行的实施方式中,认证鉴权模块可以通过本地和/或云端等认证鉴权方式来满足用户在不同场景写对协作的权限控制需求。例如,云端账号的认证鉴权方式可用于对安全性要求较高的协作场景,本地用户确认的认证鉴权方式可用于对安全性要求较低而对便捷性要求较高的协作场景。
会话管理模块用于管理协作会话实例,每一协作会话实例对应一个或多个协作对象及相应的协作客户端。其中,每个协作会话实例管理该会话内的所有资源,例如文档、图片、音视频文件等,且都与对应的所有设备维持了数据通道连接,以接收并合并设备发送的更新操作,并用于将新版本的协作对象推送给其余设备。
于本公开的一实施例中,第一设备与协作网络中的设备建立通信连接包括:第一设备根据接收到的邀请信号与协作网络中的第二设备建立通信连接,邀请信号由第二设备以广播的形式发送。
具体地,协作网络中的一个或多个设备可以根据用户指定的协作场景生成相应格式的邀请信号,例如PING码、二维码等。在生成协作信号之后,设备根据协作场景调用相应的广播模块以广播的形式发送邀请信号,例如,在近场无网络环境下可以使用蓝牙低功耗BLE广播、UWB(Ultra Wide Band,超宽带)广播等,在WIFI局域网环境下使用mDNS广播、UPNP(Universal Plug and Play)广播等,在远场广域网环境下借助云服务器进行广播等。其中,不同的广播和发现形式可以以插件的方式动态插入发现模块。
当第一设备接收到协作网络中的任一设备(命名为第二设备)发送的邀请信号后,第一设备根据邀请信号与第二设备建立通信连接。具体地,第一设备接收到第二设备发送的邀请信号后,根据邀请信号的格式调用对应的解析模块进行解析,并将解析结果上报至会话管理模块。第一设备可以根据设备持有者的决定判断是否加入邀请信号标识的协作会话。若决定加入,第一设备与第二设备建立通信连接以加入协作网络。
可选地,图3A显示为本公开实施例中第一设备根据接收到的邀请信号与协作网络中的第二设备建立通信连接的流程图。如图3A所示,本公开实施例中第一设备与第二设备建立通信连接的过程包括以下步骤S31和S32。
S31,第一设备根据邀请信号与第二设备进行认证鉴权。
S32,在认证鉴权通过后,第一设备发送接入请求至第二设备,以建立与第二设备之间的数据通道,并使第二设备更新参与协作的设备信息。
可选地,图3B显示为本公开实施例中第一设备根据邀请信号与第二设备进行认证鉴权的流程图。如图3B所示,本公开实施例中第一设备与第二设备进行认证鉴权的过程包括以下步骤S311和步骤S312。
S311,第一设备向第二设备发送认证请求,以在第一设备和第二设备之间建立认证通道。
可选地,第一设备和第二设备之间的认证通道为加密通道。在一些可行的实施方式中,该加密通道的建立过程包括:第一设备获取自身的用户信息,然后作为认证客户端向第二设备发送认证申请以申请建立认证通道;第二设备接收到认证申请后,与第一设备建立认证通道,并与第一设备协商完成认证通道的加密,从而保证后续交互数据的安全性。
S312,第一设备通过认证通道将其用户信息发送至第二设备,以使第二设备根据第一设备的用户信息进行认证和鉴权。
具体地,在第一设备与第二设备完成认证通道的协商和加密后,第一设备将其用户信息通过认证通道发送至第二设备。第二设备收到第一设备的用户信息后,对第一设备的用户信息进行认证以及鉴权。
可选地,第二设备完成对第一设备的认证和鉴权后生成对应的令牌(token)并发送给第一设备。第一设备收到令牌后,可以使用该令牌向第二设备申请加入会话以开始协作。
图3C显示为本公开实施例中第一设备发送接入请求至第二设备以建立与第二设备之间的数据通道并使第二设备更新参与协作的设备信息的流程图。如图3C所示,该过程包括以下步骤S321至步骤S324。
S321,第一设备接收第二设备发送的令牌。
S322,第一设备发送携带有令牌的连接请求至第二设备,以在第二设备和第一设备之间建立连接通道。具体地,第一设备通过会话管理模块创建要加入的会话实例客户端,然后以该会话实例客户端携带令牌向第二设备发起连接请求,以请求加入对应的会话。
可选地,第一设备与第二设备之间的连接通道可以为加密通道。在一些可行的实施方式中,该加密通道的建立方法为:第二设备接收到第一设备的连接请求后,与第一设备协商完成连接通道的加密,以保证令牌及相关数据的安全。
S323,第一设备通过连接通道发送携带有令牌的接入请求至第二设备,以使第二设备根据接入请求携带的令牌进行有效性验证,若有效性验证通过,则第二设备更新参与协作的设备信息。具体地,第二设备与第一设备完成连接通道的加密后,第一设备的会话客户端会携带令牌及相关信息向第一设备发起接入请求以请求加入对应的会话实例。第二设备接收到接入请求后会验证令牌的有效性,然后将第一设备作为新的协作设备加入会话实例中,同时更新参与协作的设备信息,也即会话实例的元数据信息,该元数据信息例如可以为当前会话参与者数量,参与者信息等。
S324,第一设备建立至少一条与第二设备相连接的数据通道。该数据通道可以为加密通道,用于后续的协作同步。
可选地,在第一设备加入前,协作网络中的设备数量至少为2。第一设备与协作网络中的设备建立通信连接还包括:第一设备从第二设备获取协作网络中的设备信息,并根据设备信息与协作网络中的其他设备建立通信连接。例如,请参阅图1B,第一设备11b与第二设备12b建立通信连接以后,从第二设备12b获取协作网络1b中其余设备的设备信息,也即设备13b和14b的设备信息。第一设备11b基于这些设备信息与设备13b和14b建立通信连接。
根据以上描述可知,本公开实施例中协作网络中只包含设备而不包含云端服务器。通过此种方式能够缩短协作过程中多端同步网络通道的节点数,将设备-云端-设备的同步链路缩减为设备-设备,有效地解决了因多端与云端网络连接质量波动大而造成的协同工作体验差、更新不及时、更新时序错误等问题。
可选地,图4显示为本公开实施例中第一设备与协作网络中的其他设备建立通信连接的流程。如图4所示,本公开实施例中第一设备与协作网络中的其他设备建立通信连接的过程包括以下步骤S41至步骤S43。
S41,第一设备根据第二设备的第二设备列表更新第一设备列表。第一设备列表是指第一设备自身的设备列表,第二设备的第二设备列表包括第二设备存储的协作网络中的设备信息。
S42,第一设备根据第一设备列表与第三设备建立通信连接,第三设备的设备信息包含于第一设备的第一设备列表中。
S43,第一设备与第三设备同步并更新第一设备列表和第三设备列表,第三设备列表是指第三设备的设备列表。
其中,第三设备可以是协作网络中除第一设备和第二设备之外的所有其他设备。第一设备可以采用循环的方式与协作网络中的所有设备建立通信连接。以图1B所示协作网络1b为例。第一设备11b与第二设备12b建立通信连接,并获取第二设备12b的设备列表作为第一设备列表。此后,第一设备11b根据第一设备列表获取设备13b的设备信息,并根据该设备信息与设备13b建立通信连接,且第一设备11b和设备13b同步更新第一设备列表和设备13b的设备列表。第一设备11b根据更新后的第一设备列表获取设备14b的设备信息,并根据该设备信息与设备14b建立通信连接,且第一设备11b和设备14b同步更新第一设备列表和设备14b的设备列表。通过此种方式,第一设备11b与协作网络11b中的所有设备建立会话连接,从而正式加入协作会话。
于本公开的一实施例中,第一设备同步并更新协作网络中其他设备的协作对象包括:第一设备根据协作网络中的高版本协作对象更新自身的协作对象,并利用自身的协作对象更新协作网络中的低版本协作对象。以图1B为例,假设第一设备11b加入协作网络1b之前,设备13b的协作对象的版本最高,则第一设备11b在加入协作网络1b时可以同步设备13b的协作对象的版本和内容作为自身协作对象版本和内容的初始值。此后,第一设备11b可以根据其自身协作对象版本和内容同步更新第二设备12b和设备14b的协作对象。
可选地,本公开实施例中第一设备根据协作网络中的高版本协作对象更新自身的协作对象并利用自身的协作对象更新协作网络中的低版本协作对象包括:第一设备依次获取协作网络中其余设备的协作对象的版本;对于协作网络中的一第四设备,若第四设备的协作对象的版本高于第一设备的协作对象的版本,则第一设备根据第四设备的协作对象更新自身的协作对象,并将更新后的协作对象推送至已遍历过的具有低版本协作对象的设备;若第四设备的协作对象的版本低于第一设备的协作对象的版本,则第一设备将其自身的协作对象推送至第四设备,以同步更新第四设备的协作对象。
接下来将以图1B所示协作网络1b为例对上述过程进行介绍。第一设备11b根据第二设备12b的协作对象配置自身的协作对象。以设备13b为第四对象,第一设备11b获取设备13b的协作对象的版本。若设备13b的协作对象的版本高于第一设备11b,则第一设备11b同步至设备13b的协作对象的版本,并将最新版本的协作对象告知持有低版本协作对象的第二设备12b,以使第二设备12b更新其协作对象。若设备13b的协作对象的版本与第一设备11b相同,则不作任何操作。若设备13b的协作对象的版本低于第一设备11b,则利用第一设备11b的协作对象更新设备13b的协作对象。此后,以设备14b为第四对象,第一设备11b获取设备14b的协作对象的版本。若设备14b的协作对象的版本高于第一设备11b,则第一设备11b同步至设备14b的协作对象的版本,并将最新版本的协作对象告知持有低版本协作对象的第二设备12b以及设备13b,以使第二设备12b和设备13b更新其协作对象。若设备14b的协作对象的版本与第一设备11b相同,则不作任何操作。若设备14b的协作对象的版本低于第一设备11b,则利用第一设备11b的协作对象更新设备14b的协作对象。通过此种方式可以实现第一设备根据协作网络中的高版本协作对象更新自身的协作对象,并利用自身的协作对象更新协作网络中的低版本协作对象。
根据以上描述可知,本公开实施例通过各设备之间的通信即可实现协作对象的同步和更新。用户无需连接广域网即可实现协作,因而可以适用多种网络场景(例如,近场WIFI P2P直连、WIFI局域网等)下的文档协同。
于本公开的一实施例中,当第一设备的协作对象更新时,第一设备将更新后的协作对象发送至协作网络中的其他设备,以使协作网络中的其他设备更新各自的协作对象。具体地,当第一设备的协作对象更新时,为该第一设备上的协作对象生成一个新版本号,并将携带有新版本号的协作对象推送至协作网络中的其他设备。
可选地,本公开实施例提供的分布式协作方法还可以包括:当第一设备接收到协作网络中的第五设备发送的更新版本时,第一设备根据该更新版本更新其自身的协作对象;若更新后第一设备的协作对象的版本高于第五设备,则第一设备将其自身的协作对象发送至协作网络中的其他设备,以使其他设备更新各自的协作对象。
具体地,当第一设备接收到协作网络中的任一其他设备(命名为第五设备)发送的更新版本时,对比该接收到的版本与自身版本以决定是否需要更新。当第一设备的自身版本等于或小于接收到的版本时,说明第五设备的协作对象为最新版本,此时第一设备可以向第五设备请求自身版本与最新版本的内容差异数据,并根据该内容差异数据在第一设备上完成内容和版本的更新。当第一设备的自身版本高于接收到的版本时,或者第一设备具有未推送的修改时,说明第一设备中相较于第五设备而言存在额外更新的内容,此时第一设备可以根据接收到的版本更新自身的协作对象的版本以生成一个更高版本,并将该更高版本发送到协作网络内的其余所有设备。
可以理解的是,上述第一设备更新协作对象版本的方案可以适用于协作网络中的所有设备。当协作网络中的所有设备都采用上述方案进行更新时,各设备能够快速地实现协作对象版本和内容的一致。
本公开实施例还提供另一种分布式协作方法,包括:当协作网络中第一设备的协作对象更新时,第一设备发送更新后的协作对象至协作网络中的其他设备,以使其他设备更新各自的协作对象,其中,协作网络为包含至少两个设备的分布式网络,第一设备为协作网络中的任一设备。具体地,当第一设备的协作对象更新时,为该第一设备上的协作对象生成一个新版本号,并将携带有新版本号的协作对象推送至协作网络中的其他设备。当第一设备接收到协作网络中的第二设备发送的更新版本后,第一设备根据更新版本更新自身的协作对象,第二设备为协作网络中第一设备之外的任一设备。
可选地,在第一设备根据更新版本更新自身的协作对象以后,分布式协作方法还包括:若第一设备的协作对象的版本高于第二设备,则第一设备发送其自身的协作对象至协作网络中的其他设备。
可选地,本公开实施例提供的分布式协作方法还可以包括:第三设备与第一设备建立通信连接以加入协作网络;第三设备同步并更新协作网络中其他设备的协作对象。其中,第三设备为协作网络之外的任一设备。
可选地,于本公开实施例中,第三设备与第一设备建立通信连接包括:第三设备根据接收到的邀请信号与第一设备建立通信连接,其中,该邀请信号由第一设备以广播的形式发送。
可选地,于本公开实施例中,第三设备与第一设备建立通信连接还可以包括:第三设备从第一设备获取协作网络中的设备信息,并根据该设备信息与协作网络中的其他设备建立通信连接。
可选地,于本公开实施例中,第三设备与协作网络中的其他设备建立通信连接包括:第三设备根据第一设备的设备列表更新第三设备的设备列表,第一设备的设备列表包括第一设备存储的协作网络中的设备信息;第三设备根据其设备列表与协作网络中的第四设备建立通信连接,其中,第四设备的设备信息包含于第三设备的设备列表中;第三设备与第四设备同步并更新第三设备的设备列表和第四设备的设备列表。
可选地,于本公开实施例中,第三设备根据接收到的邀请信号与第一设备建立通信连接包括:第三设备根据邀请信号与第一设备进行认证鉴权;在认证鉴权通过后,第三设备发送接入请求至第一设备,以建立与第一设备之间的数据通道,并使第一设备更新参与协作的设备信息。
可选地,于本公开实施例中,第三设备根据邀请信号与第一设备进行认证鉴权包括:第三设备向第一设备发送认证请求,以在第三设备和第一设备之间建立认证通道;第三设备通过认证通道将其用户信息发送至第一设备,以使第一设备根据第三设备的用户信息进行认证和鉴权。
可选地,于本公开实施例中,第一设备在认证和鉴权完成后发送令牌至第三设备,第三设备发送接入请求至第一设备以建立与第一设备之间的数据通道并使第一设备更新参与协作的设备信息包括:第三设备接收第一设备发送的令牌;第三设备发送携带有令牌的连接请求至第一设备,以在第一设备和第三设备之间建立连接通道;第三设备通过连接通道发送携带有令牌的接入请求至第一设备,以使第一设备根据接入请求携带的令牌进行有效性验证,若有效性验证通过,则第一设备更新参与协作的设备信息;第三设备建立至少一条与第一设备相连接的数据通道。
可选地,于本公开实施例中,第三设备同步并更新协作网络中其他设备的协作对象包括:第三设备根据协作网络中的高版本协作对象更新自身的协作对象,并利用自身的协作对象更新协作网络中的低版本协作对象。
可选地,于本公开实施例中,第三设备根据协作网络中的高版本协作对象更新自身的协作对象并利用自身的协作对象更新协作网络中的低版本协作对象包括:第三设备以遍历的方式依次获取协作网络中其余设备的协作对象的版本;对于协作网络中的一第五设备:若第五设备的协作对象的版本高于第三设备的协作对象的版本,则第三设备根据第五设备的协作对象更新自身的协作对象,并将更新后的协作对象推送至已遍历过的具有低版本协作对象的设备;若第五设备的协作对象的版本低于第三设备的协作对象的版本,则第三设备将其自身的协作对象推送至第五设备,以同步更新第五设备的协作对象。
本公开实施例还提供一种分布式协作网络,该分布式协作网络采用本公开任一实施例提供的分布式协作方法实现设备间的协作。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现本公开任一实施例提供的分布式协作方法。
本公开实施例中,可以采用一个或多个存储介质的任意组合。存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本公开实施例还提供一种电子设备。图5显示为本公开一实施例中电子设备500的结构示意图。如图5所示,本公开实施例中电子设备500包括存储器510和处理器520。
存储器510用于存储计算机程序;可选地,存储器510包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
具体地,存储器510可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。电子设备500可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器510可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
处理器520与存储器510相连,用于执行存储器510存储的计算机程序,以使电子设备500执行本公开任一实施例提供的分布式协作方法。
可选地,处理器520可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本公开实施例中电子设备500还可以包括显示器530。显示器530与存储器510和处理器520通信相连,用于显示分布式协作方法的相关GUI交互界面。
本公开实施例所述的分布式协作方法的保护范围不限于本公开实施例列举的步骤执行顺序,凡是根据本公开的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本公开的保护范围内。
综上所述,本公开一个或多个实施例中提供的分布式协作方法,无需云端服务器即可实现多用户协作,极大地减小了协作对云端资源的需求。此外,所述分布式协作方法缩短了协作过程中多端同步网络通道的节点数,将设备-云端-设备的同步链路缩减为设备-设备,有效地解决了因多端与云端网络连接质量波动大而造成的协同工作体验差、更新不及时、更新时序错误等问题。进一步地,所述分布式协作方法扩展了多人实时文档协作的场景,用户无需连接广域网即可实现协作,因而可以适用多种网络场景(例如,近场WIFI P2P直连、WIFI局域网等)下的文档协同。再者,基于本公开实施例提供的分布式协作方法,用户无需将文档保存在云端服务器,同时也无需向云端注册自己的信息,有利于避免用户个人文档和个人信息的隐私泄露,同时也有利于降低多人协作的操作门槛。
因此,本公开有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本公开的原理及其功效,而非用于限制本公开。任何熟悉此技术的人士皆可在不违背本公开的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本公开所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本公开的权利要求所涵盖。
Claims (16)
1.一种分布式协作方法,其特征在于,包括:
第一设备与协作网络中的设备建立通信连接以加入所述协作网络,所述协作网络为包含一个或多个设备的分布式网络;
所述第一设备同步并更新所述协作网络中其他设备的协作对象。
2.根据权利要求1所述的分布式协作方法,其特征在于,第一设备与协作网络中的设备建立通信连接包括:
所述第一设备根据接收到的邀请信号与所述协作网络中的第二设备建立通信连接,所述邀请信号由所述第二设备以广播的形式发送。
3.根据权利要求2所述的分布式协作方法,其特征在于,在所述第一设备加入前,所述协作网络中的设备数量至少为2,所述第一设备与所述协作网络中的设备建立通信连接还包括:
所述第一设备从所述第二设备获取所述协作网络中的设备信息,并根据所述设备信息与所述协作网络中的其他设备建立通信连接。
4.根据权利要求3所述的分布式协作方法,其特征在于,所述第一设备与所述协作网络中的其他设备建立通信连接包括:
所述第一设备根据所述第二设备的第二设备列表更新第一设备列表,所述第二设备的第二设备列表包括所述第二设备存储的所述协作网络中的设备信息;
所述第一设备根据第一设备列表与第三设备建立通信连接,所述第三设备的设备信息包含于所述第一设备的第一设备列表中;
所述第一设备与所述第三设备同步并更新第一设备列表、第三设备列表。
5.根据权利要求2所述的分布式协作方法,其特征在于,所述第一设备根据接收到的邀请信号与所述协作网络中的第二设备建立通信连接包括:
所述第一设备根据所述邀请信号与所述第二设备进行认证鉴权;
在认证鉴权通过后,所述第一设备发送接入请求至所述第二设备,以建立与所述第二设备之间的数据通道,并使所述第二设备更新参与协作的设备信息。
6.根据权利要求5所述的分布式协作方法,其特征在于,所述第一设备根据所述邀请信号与所述第二设备进行认证鉴权包括:
所述第一设备向所述第二设备发送认证请求,以在所述第一设备和第二设备之间建立认证通道;
所述第一设备通过所述认证通道将其用户信息发送至所述第二设备,以使所述第二设备根据所述第一设备的用户信息进行认证和鉴权。
7.根据权利要求5所述的分布式协作方法,其特征在于,所述第二设备在认证和鉴权完成后发送令牌至所述第一设备,所述第一设备发送接入请求至所述第二设备以建立与所述第二设备之间的数据通道并使所述第二设备更新参与协作的设备信息包括:
所述第一设备接收所述第二设备发送的所述令牌;
所述第一设备发送携带有所述令牌的连接请求至所述第二设备,以在所述第二设备和所述第一设备之间建立连接通道;
所述第一设备通过所述连接通道发送携带有所述令牌的接入请求至所述第二设备,以使所述第二设备根据所述接入请求携带的所述令牌进行有效性验证,若所述有效性验证通过,则所述第二设备更新参与协作的设备信息;
所述第一设备建立至少一条与所述第二设备相连接的数据通道。
8.根据权利要求1所述的分布式协作方法,其特征在于,所述第一设备同步并更新所述协作网络中其他设备的协作对象包括:
所述第一设备根据所述协作网络中的高版本协作对象更新自身的协作对象,并利用自身的协作对象更新所述协作网络中的低版本协作对象。
9.根据权利要求8所述的分布式协作方法,其特征在于,所述第一设备根据所述协作网络中的高版本协作对象更新自身的协作对象并利用自身的协作对象更新所述协作网络中的低版本协作对象包括:
所述第一设备依次获取所述协作网络中其余设备的协作对象的版本;
对于所述协作网络中的一第四设备:
若所述第四设备的协作对象的版本高于所述第一设备的协作对象的版本,则所述第一设备根据所述第四设备的协作对象更新自身的协作对象,并将更新后的协作对象推送至已遍历过的具有低版本协作对象的设备;
若所述第四设备的协作对象的版本低于所述第一设备的协作对象的版本,则所述第一设备将其自身的协作对象推送至所述第四设备,以同步更新所述第四设备的协作对象。
10.根据权利要求1所述的分布式协作方法,其特征在于,还包括:当所述第一设备的协作对象更新时,所述第一设备将更新后的协作对象发送至所述协作网络中的其他设备,以使所述协作网络中的其他设备更新各自的协作对象。
11.根据权利要求1所述的分布式协作方法,其特征在于,还包括:
当所述第一设备接收到所述协作网络中的第五设备发送的更新版本时,所述第一设备根据该更新版本更新其自身的协作对象;
若更新后所述第一设备的协作对象的版本高于所述第五设备,则所述第一设备将其自身的协作对象发送至所述协作网络中的其他设备,以使其他设备更新各自的协作对象。
12.一种分布式协作方法,其特征在于,包括:
当协作网络中第一设备的协作对象更新时,所述第一设备发送更新后的协作对象至所述协作网络中的其他设备,以使其他设备更新各自的协作对象,其中,所述协作网络为包含至少两个设备的分布式网络;
当所述第一设备接收到所述协作网络中的第二设备发送的更新版本后,所述第一设备根据所述更新版本更新自身的协作对象。
13.根据权利要求12所述的分布式协作方法,其特征在于,在所述第一设备根据所述更新版本更新自身的协作对象以后,所述分布式协作方法还包括:若所述第一设备的协作对象的版本高于所述第二设备,则所述第一设备发送其自身的协作对象至所述协作网络中的其他设备。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1至13中任一项所述的分布式协作方法。
15.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1至13中任一项所述的分布式协作方法。
16.一种分布式协作网络,其特征在于,所述分布式协作网络采用权利要求1至13中任一项所述的分布式协作方法实现设备间的协作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394007.7A CN115767770A (zh) | 2022-11-08 | 2022-11-08 | 分布式协作方法、网络、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394007.7A CN115767770A (zh) | 2022-11-08 | 2022-11-08 | 分布式协作方法、网络、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115767770A true CN115767770A (zh) | 2023-03-07 |
Family
ID=85368325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211394007.7A Pending CN115767770A (zh) | 2022-11-08 | 2022-11-08 | 分布式协作方法、网络、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115767770A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708027A (zh) * | 2023-08-03 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 一种多端远程协同通信方法、装置、设备及存储介质 |
-
2022
- 2022-11-08 CN CN202211394007.7A patent/CN115767770A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708027A (zh) * | 2023-08-03 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 一种多端远程协同通信方法、装置、设备及存储介质 |
CN116708027B (zh) * | 2023-08-03 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种多端远程协同通信方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597774B (zh) | 一种文件分享方法、系统、装置、计算设备及终端设备 | |
US11157229B2 (en) | Screen sharing presentation system | |
US20200293261A1 (en) | User Interaction with Shared Content During a Virtual Meeting | |
CN115767770A (zh) | 分布式协作方法、网络、介质及电子设备 | |
WO2022213941A1 (zh) | 一种协同编辑方法和终端设备 | |
CN105550934A (zh) | 虚拟现实中微信软文的推送系统及方法 | |
CN112601046A (zh) | 交互方法、终端、服务器、交互系统和非瞬时性存储介质 | |
EP4297371A1 (en) | Function migration method and apparatus | |
WO2022206770A1 (zh) | 一种设备间应用协同工作的方法及设备 | |
CN112818303B (zh) | 交互方法、装置和电子设备 | |
CN110324413A (zh) | 特效同步的方法、装置及存储介质 | |
CN113099130A (zh) | 协同视频处理方法、装置、电子设备及存储介质 | |
KR20120079636A (ko) | 다자간 회의에서 문서 작업 공유 방법 | |
JP2019121812A (ja) | 情報処理システム、その制御方法及びプログラム。 | |
CN111381792A (zh) | 一种支持多人协同的虚拟现实数据传输方法及系统 | |
CN105144661B (zh) | 多个客户实体之间的协作技术 | |
CN116595957A (zh) | 报表搭建页面提供方法、协同编辑方法、电子设备 | |
CN103294193A (zh) | 多终端互动的方法、装置和系统 | |
US20150341397A1 (en) | Data sharing system and method | |
CN114697148A (zh) | 一种云协同方法及系统 | |
CN115145472A (zh) | 一种功能迁移方法和装置 | |
CN113885976A (zh) | 交互方法、装置和电子设备 | |
CN115016749A (zh) | 投屏内容控制方法、设备、系统、存储介质 | |
CN116764189B (zh) | 虚拟空间的分配方法、装置、介质、设备及产品 | |
WO2023217089A1 (zh) | 数据传输方法、装置、设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. B1337, Chuanggu Initiation Zone, Taizihu Cultural Digital Creative Industry Park, No. 18 Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province, 430058 Applicant after: Hubei Xingji Meizu Technology Co.,Ltd. Address before: No. B1337, Chuanggu Start-up Zone, Taizi Lake Cultural Digital Creative Industry Park, No. 18 Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan City, Hubei Province 430000 Applicant before: Hubei Xingji times Technology Co.,Ltd. |