CN103488754A - Method for transparent interoperability of heterogeneous document cooperation cloud services - Google Patents
Method for transparent interoperability of heterogeneous document cooperation cloud services Download PDFInfo
- Publication number
- CN103488754A CN103488754A CN201310439944.4A CN201310439944A CN103488754A CN 103488754 A CN103488754 A CN 103488754A CN 201310439944 A CN201310439944 A CN 201310439944A CN 103488754 A CN103488754 A CN 103488754A
- Authority
- CN
- China
- Prior art keywords
- document
- collaboration
- robot
- cloud
- ces
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明属于云计算和计算机支持的协同工作技术领域,具体为一种异构文档协作云服务间透明互操作的方法。该方法通过中间代理为使用异构文档协作云服务的用户提供透明的跨云文档协作服务,并保证共享文档的一致性。本发明的有益效果在于:一方面,用户可以使用他们所熟悉的服务参与跨云文档协作,而不需要学习或为新的服务付费,不需要安装任何软件或插件;另一方面,服务提供商不需要投入任何额外工作,如制定标准或修改代码,即可实现和其他类似的服务间的互操作。
The invention belongs to the technical field of cloud computing and computer-supported collaborative work, and specifically relates to a method for transparent interoperability among heterogeneous document collaboration cloud services. The method provides transparent cross-cloud document collaboration services for users using heterogeneous document collaboration cloud services through an intermediate agent, and ensures the consistency of shared documents. The beneficial effects of the present invention are: on the one hand, users can use their familiar services to participate in cross-cloud document collaboration without learning or paying for new services, and without installing any software or plug-ins; on the other hand, service providers Interoperability with other similar services can be achieved without any additional work, such as developing standards or modifying code.
Description
技术领域 technical field
本发明属于云计算和计算机支持的协同工作技术领域,具体的说,涉及一种异构文档协作服务间透明互操作的方法。 The invention belongs to the technical field of cloud computing and computer-supported collaborative work, and in particular relates to a method for transparent interoperability among heterogeneous document collaboration services.
背景技术 Background technique
1. 云协同编辑服务 1. Cloud Collaborative Editing Service
在经济全球化的今天,云服务成为了理想的在线协作平台。地理分散的企业、组织和个人可以通过任意设备,随时随地访问云服务进行在线协作。越来越多的用户因为云服务的高可用性、弹性和低维护成本开始转向使用云服务。文档协作云服务是一类具有代表性的在线协作云服务,例如Google Docs、Microsoft Office Web Apps、Zoho Office Suite等。它们能够支持地理分散的用户进行实时的在线文档协作,用户可以通过浏览器打开并编辑在线文档,各协作用户对文档的更新可以被实时同步并保证各用户文档视图的最终一致。文档协作云服务通常和文档存储、分享、电子邮件、即时消息等云服务紧密整合,从而为终端用户提供完整的在线协作解决方案。 In today's economic globalization, cloud services have become an ideal online collaboration platform. Geographically dispersed enterprises, organizations and individuals can access cloud services anytime and anywhere through any device for online collaboration. More and more users are turning to cloud services because of their high availability, elasticity, and low maintenance costs. Document collaboration cloud service is a representative type of online collaboration cloud service, such as Google Docs, Microsoft Office Web Apps, Zoho Office Suite, etc. They can support geographically dispersed users to carry out real-time online document collaboration. Users can open and edit online documents through browsers, and the updates of documents by each collaborative user can be synchronized in real time and ensure the final consistency of each user's document view. Document collaboration cloud services are usually tightly integrated with cloud services such as document storage, sharing, e-mail, and instant messaging to provide end users with a complete online collaboration solution.
2. 实时协同组编辑技术 2. Real-time collaborative group editing technology
实时协同组编辑技术是实现文档协作云服务最为重要的技术之一。地址空间转换AST(Address Space Transformation)和操作转换OT(Operation Transformation)是两种最具代表性的实时协同组编辑技术。它们通过将远程操作或本地文档地址空间转换成正确的形式,从而正确的执行操作,自动解决并发操作间冲突,并实现文档状态的一致性维护。 Real-time collaborative group editing technology is one of the most important technologies for realizing document collaboration cloud services. Address Space Transformation AST (Address Space Transformation) and Operation Transformation OT (Operation Transformation) are the two most representative real-time collaborative group editing technologies. They perform operations correctly by converting remote operations or local document address spaces into the correct form, automatically resolve conflicts between concurrent operations, and achieve consistent maintenance of document state.
AST的基本思想是:共享文档被复制在各用户协作站点上,用户的本地操作可以被立即执行并发送至其他站点;当接收到远程操作后,首先去除并发操作对文档状态产生的影响,将文档(即地址空间)转换成该操作产生时的状态,远程操作按照其原有形式被执行后,再恢复并发操作的效果将文档转换成最新状态。为了实现地址空间转换,每个节点拥有一个有效状态标志;执行后的操作被存储在对应的文档空间节点中;被删除的节点会被保留在地址空间中。并发操作效果的去除和恢复可以通过遍历地址空间,正确设置节点的有效状态标志实现。 The basic idea of AST is: the shared document is copied on each user collaboration site, and the user's local operation can be immediately executed and sent to other sites; when the remote operation is received, the impact of concurrent operations on the document state is first removed, and the The document (that is, the address space) is converted to the state when the operation was generated. After the remote operation is executed in its original form, the effect of the concurrent operation is restored to convert the document to the latest state. In order to realize the address space conversion, each node has a valid status flag; the executed operation is stored in the corresponding document space node; the deleted node will be kept in the address space. The removal and recovery of the effect of concurrent operations can be achieved by traversing the address space and correctly setting the effective status flags of the nodes.
3. 云服务的互操作 3. Interoperability of cloud services
云服务通常采用按需付费的部署模型,企业用户可以根据自己的喜好和需求选择合适的云服务来应对市场需求的变化。一方面,用户通常不希望受制于一家服务提供商;另一方面,用户通常也不愿意放弃自己已经熟悉的服务和用户界面而转向选择其他的服务提供商并因此付出额外的费用。因此,用户通常更倾向于选择对互操作支持较好的云服务。 Cloud services usually adopt a pay-as-you-go deployment model, and enterprise users can choose appropriate cloud services according to their preferences and needs to cope with changes in market demand. On the one hand, users usually do not want to be bound by one service provider; on the other hand, users are usually unwilling to give up the services and user interface they are already familiar with and turn to other service providers and thus pay extra fees. Therefore, users are usually more inclined to choose cloud services that support better interoperability.
标准化是实现云服务间互操作的一种方式,然而,由于各大服务提供商因为自身利益很难达成一致,往往导致服务标准化进程非常缓慢。云服务代理(Cloud Service Brokerage)是在服务标准化之前更为有效的一种实现云服务间互操作的方案。比如,Jolidriver是一种典型的云存储代理服务,它通过对各种云存储服务的API进行封装从而屏蔽异构云存储服务之间的差异,为用户提供统一的云存储服务界面。 Standardization is a way to achieve interoperability between cloud services. However, because it is difficult for major service providers to reach an agreement due to their own interests, the process of service standardization is often very slow. Cloud Service Brokerage (Cloud Service Brokerage) is a more effective solution to achieve interoperability between cloud services before service standardization. For example, Jolidriver is a typical cloud storage proxy service, which shields the differences between heterogeneous cloud storage services by encapsulating the APIs of various cloud storage services, and provides users with a unified cloud storage service interface.
但是,文档协作云服务属于多用户交互式应用,由于涉及多用户对共享文档的同时操作,实现异构文档协作云服务间的互操作要比实现云存储服务间的互操作困难很多。第一,已有的文档协作服务仅仅提供文档存储、分享等功能的API,并不直接提供支持共享文档编辑的API;第二,多用户在不同云服务上对共享文档的并发操作可能会导致操作冲突并最终导致文档状态的不一致,传统实时协同组编辑系统中的操作冲突解决和数据一致性维护的挑战,在实现异构文档协作云服务间的互操作中仍然存在;第三,支持异构文档协作服务间互操作的代理服务不能改变用户使用已有服务的体验,例如,不能要求用户安装新的软件或浏览器插件,不能对用户之间的协作产生任何干扰。 However, document collaboration cloud services are multi-user interactive applications. Since multiple users are involved in the simultaneous operation of shared documents, it is much more difficult to achieve interoperability between heterogeneous document collaboration cloud services than cloud storage services. First, existing document collaboration services only provide APIs for document storage and sharing, and do not directly provide APIs that support shared document editing; second, concurrent operations on shared documents by multiple users on different cloud services may lead to Operational conflicts and eventually lead to inconsistencies in document status. The challenges of operational conflict resolution and data consistency maintenance in traditional real-time collaborative group editing systems still exist in the interoperability of heterogeneous document collaboration cloud services; third, support heterogeneous Interoperable proxy services between document collaboration services cannot change the experience of users using existing services, for example, they cannot require users to install new software or browser plug-ins, and cannot interfere with the collaboration between users.
4. 需要解决的关键问题 4. Key issues to be addressed
本发明中需要解决的一个关键问题是如何以透明的方式实现文档协作云服务间的互操作?这里的透明性主要包含两层含义:一层含义是指服务提供商不需要付出任何的工作,如制定标准或修改代码,即可实现和其他类似的服务间的互操作;另一层含义是指用户不需要安装任何的软件或插件,即可使用他们各自熟悉的服务与用户界面和其他用户进行实时的在线文档协作。 A key problem to be solved in the present invention is how to realize interoperability between document collaboration cloud services in a transparent manner? Transparency here mainly includes two meanings: one means that the service provider does not need to pay any work, such as formulating standards or modifying codes, to achieve interoperability with other similar services; the other means that It means that users do not need to install any software or plug-ins, and can use their familiar services to conduct real-time online document collaboration with the user interface and other users.
另一个需要解决的关键问题是如何保证跨云文档协作中的文档一致性?由于用户使用他们各自熟悉的服务进行跨云文档协作,并发的文档操作间可能会存在冲突或导致共享文档处于不一致的状态。实现文档协作中的一致性维护中的困难主要存在于两个方面:一方面,我们无法准确知道各文档协作服务所使用的一致性维护技术、冲突解决方法、文档同步协议等,并且各服务提供商可能会采用完全不同的技术;另一方面,已有的实时协同组编辑技术依赖于用户操作历史的获取,在保证上述互操作透明性的前提下,我们无法获取用户的操作历史。因此,我们只能将各文档协作云服务当作“黑盒”处理,来实现跨云文档协作中的文档一致性维护。 Another key issue that needs to be solved is how to ensure document consistency in cross-cloud document collaboration? As users collaborate on cross-cloud documents using their respective familiar services, concurrent document operations may conflict or cause shared documents to be in an inconsistent state. The difficulties in achieving consistency maintenance in document collaboration mainly exist in two aspects: on the one hand, we cannot accurately know the consistency maintenance technology, conflict resolution method, document synchronization protocol, etc. used by each document collaboration service, and each service provides On the other hand, the existing real-time collaborative group editing technology relies on the acquisition of user operation history. Under the premise of ensuring the above-mentioned interoperability transparency, we cannot obtain the user's operation history. Therefore, we can only treat each document collaboration cloud service as a "black box" to maintain document consistency in cross-cloud document collaboration.
发明内容 Contents of the invention
为了解决现有技术问题,本发明提出一种异构文档协作云服务间透明互操作的方法。 In order to solve the problems in the prior art, the present invention proposes a method for transparent interoperability among heterogeneous document collaboration cloud services.
本发明提供的一种异构文档协作云服务间透明互操作的方法中,跨云文档协作以中间代理服务的形式提供,中间代理服务中引入机器人,其通过机器人与所属文档协作云服务之间的自动交互及机器人之间的文档交互,实现异构文档协作云服务间的透明互操作;具体如下: In a method for transparent interoperability between heterogeneous document collaboration cloud services provided by the present invention, the cross-cloud document collaboration is provided in the form of an intermediate proxy service, and a robot is introduced into the intermediate proxy service, which communicates between the robot and the document collaboration cloud service to which it belongs. The automatic interaction between robots and the document interaction between robots realizes the transparent interoperability between heterogeneous document collaboration cloud services; the details are as follows:
采用Web浏览器自动化技术,读取文档状态,将文档的视图表示转换成用统一的文档模型表示,应用接收到的远程操作,使得本地文档与所属组中共享文档同步,实现机器人与所属文档协作服务之间的自动交互。 Using web browser automation technology to read the document status, convert the view representation of the document into a unified document model representation, and apply the received remote operation to synchronize the local document with the shared document in the group and realize the collaboration between the robot and the document Automatic interaction between services.
参与跨云文档协作的用户组的机器人之间通过协同引擎相互连接,形成一个P2P的文档协同编辑网络,通过文档间diff(文档比较)推导机器人所属用户组用户的更新操作,检测文档更新,再利用地址空间转换技术AST,将接收到的来自其他用户组的机器人的远程操作转换成正确的形式后,执行转换后的操作,使得所有文档协作服务中的共享文档处于一致状态,实现机器人之间的文档交互。 The robots of the user groups participating in the cross-cloud document collaboration are connected to each other through the collaboration engine to form a P2P document collaborative editing network. The update operation of the user group users to which the robot belongs is derived through inter-document diff (document comparison), and the document update is detected. Utilize the address space conversion technology AST to convert the received remote operations of robots from other user groups into the correct form, and execute the converted operations, so that the shared documents in all document collaboration services are in a consistent state, realizing the robot-to-robot interaction document interaction.
1. 主要思想和中间代理服务设计 1. Main idea and intermediate proxy service design
文档协作服务允许地理分散的用户同时编辑一份文档,用户之间的文档和视图将保持自动同步。考虑图1中的两组用户 和,他们在不同的文档协作云服务上独立地对同一份文档进行编辑。对于组内的任一用户,例如,可以看到中其他用户对文档的做出的任何更新。因此,对于任意两个用户和,如果他们能告诉对方所属组内文档的变化,并将对方告知的文档变化正确的应用于自己做所属组的文档上,那么和中的文档即可通过和之间的“对话”实现同步。 Document collaboration services allow geographically dispersed users to edit a document at the same time, and the documents and views between users will be kept automatically synchronized. Consider the two groups of users in Figure 1 and , they independently edit the same document on different document collaboration cloud services. For any user in the group, e.g. , can be seen Any updates made to the document by other users in the . Therefore, for any two users and , if they can tell the other party about the changes in the documents in the group they belong to, and apply the document changes informed by the other party to the documents in their own group, then and Documentation in the and The "dialogue" between them is synchronized.
基于上述思想,本发明在中间代理服务中引入机器人,并自动化机器人与文档协作云服务之间的交互以及机器人之间的文档同步对话,来实现异构文档协作云服务间的透明互操作。从用户的角度来看,他们不需要安装任何的软件或插件,可以按照自己的习惯使用熟悉的云服务参与跨云的文档协作,用户只需把机器人用户看作同组的一个普通成员,将共享文档分享给代理服务中的机器人即可。从服务提供商的角度来看,机器人用户和其他普通用户并无差别,他们不需要对源代码做出任何更改,甚至不需要提供任何的API来支持和其他类似服务之间的互操作。 Based on the above idea, the present invention introduces a robot into the intermediate proxy service, and automates the interaction between the robot and the document collaboration cloud service and the document synchronization dialogue between the robots, so as to realize transparent interoperability among heterogeneous document collaboration cloud services. From the user's point of view, they do not need to install any software or plug-ins, and can use familiar cloud services to participate in cross-cloud document collaboration according to their own habits. Users only need to regard the robot user as an ordinary member of the same group. Shared documents can be shared with the robot in the proxy service. From the perspective of service providers, robot users are no different from other ordinary users. They do not need to make any changes to the source code, and do not even need to provide any API to support interoperability with other similar services.
中间代理服务中的机器人按照普通用户的方式工作,使用Web浏览器参与所属组中的文档协作。组中的文档更新可以通过如下步骤同步到组中: Robots in the intermediate proxy service work in the same way as ordinary users, using web browsers to participate in document collaboration in the group they belong to. Group Document updates in can be synchronized to the group by the following steps middle:
步骤1:将其本地文档与所属文档协作服务器进行同步以获得组内其他用户对文档的更新; Step 1 : Synchronize their local documents with their document collaboration server to obtain updates from other users in the group;
步骤2:读取当前的文档状态; Step 2 : Read the current document state;
步骤3:将最新的文档状态与之前读取的文档状态进行比较; Step 3 : Compare the latest document state with the previously read document state;
步骤4:如果检测到任何更新,将这些更新以操作的形式发送给;否则,结束此次文档同步; Step 4 : If any updates are detected, Send these updates as operations to ; Otherwise, end this document synchronization;
步骤5:将接收到的文档更新应用于本地文档中; Step 5 : Apply the received document update to the local document;
步骤6:将其本地文档与所属文档协作服务器进行同步以更新组内的共享文档状态。 Step 6 : Synchronize their local documents with their own document collaboration server to update the status of shared documents within the group.
图2显示了中间代理服务的体系结构。每个机器人用户由三个核心组件构成:CES用户界面(CUI: CES User Interface)、CES适配器(CA: CES Adaptor)、协同引擎(CE: Collaboration Engine)。 Figure 2 shows the architecture of the intermediate proxy service. Each robot user consists of three core components: CES User Interface (CUI: CES User Interface), CES Adapter (CA: CES Adapter), and Collaboration Engine (CE: Collaboration Engine).
CES用户界面用于参与所属组的文档协作。机器人所使用的用户界面与普通用户相同,即Web浏览器中打开的Web用户界面。 The CES user interface is used to participate in the document collaboration of the belonging group. The user interface used by the robot is the same as that of ordinary users, that is, the web user interface opened in the web browser.
CES适配器实现机器人与所属文档协作服务的自动化交互,包括:读取文档状态,应用接收到的远程操作,以及实现本地文档与所属组中共享文档的同步。直观上,CES适配器可以被看作机器人的“眼”和“手”。CES适配器的实现是文档协作服务相关的,但是其实现了如下的公共接口: The CES adapter realizes the automated interaction between the robot and the document collaboration service it belongs to, including: reading the document status, applying the received remote operation, and realizing the synchronization of the local document and the shared document in the group it belongs to. Intuitively, the CES adapter can be regarded as the "eye" and "hand" of the robot. The implementation of the CES adapter is related to the document collaboration service, but it implements the following public interface:
interface CESAdaptor { interface CESAdaptor {
ReadDocument() : Document ReadDocument() : Document
Apply(Operation[] operations) : void Apply(Operation[] operations) : void
Sync() : void Sync() : void
} }
ReadDocument方法返回显示在用户界面中的文档对象。文档对象对应于Web用户界面中一段或多段HTML代码。机器人之间需要在相同的文档模型基础上进行“对话”。 The ReadDocument method returns the document object displayed in the user interface. A document object corresponds to one or more pieces of HTML code in a web user interface. Robots need to "talk" on the basis of the same document model.
Apply方法被调用以将编辑操作应用于机器人的本地文档上。这些操作来 The Apply method is called to apply editing operations to the robot's local document. These operations come
自其他机器人,即来自使用其他文档协作云服务的用户组,并同样定义与统一的文档模型上。Apply方法的调用必须保证传入的操作operations是定义在机器人当前用户界面中显示的文档上。 From other bots, that is, from user groups using other document collaboration cloud services, and also defined on the unified document model. The call to the Apply method must ensure that the incoming operations are defined on the document currently displayed in the robot's user interface.
Sync方法被调用以实现机器人本地文档与所属云服务中共享文档的同 The Sync method is called to realize the synchronization between the robot's local document and the shared document in the cloud service.
步。具体来说,当Sync方法被调用后,同组的其他普通用户将看到来自于其他组用户对文档的更改,同时,如果所属组内其他普通用户对文档进行了更改,机器人的本地文档也将得到更新。 step. Specifically, when the Sync method is called, other ordinary users in the same group will see changes made to the document by users in other groups. At the same time, if other ordinary users in the group make changes to the document, the local document of the robot will also will be updated.
协同引擎负责检测文档更新并实现与其他机器人的文档同步。在跨云文档协作中,机器人将周期性与服务器进行同步,并检查文档更新,即所属组内其他普通用户对文档的更改。如果检测到任何变化,机器人将会把这些更新以操作的形式发送给其他机器人的协同引擎。当接收到来自于其他机器人的远程操作时,由于一致性的问题,这些操作不能直接应用于机器人的本地文档上,而首先需要将这些操作转换成正确的形式。 The collaborative engine is responsible for detecting document updates and achieving document synchronization with other robots. In cross-cloud document collaboration, the robot will periodically synchronize with the server and check for document updates, that is, changes made to documents by other ordinary users in the group it belongs to. If any changes are detected, the robots will send these updates as actions to the collaborative engines of other robots. When receiving remote operations from other robots, due to consistency issues, these operations cannot be directly applied to the robot's local file, but first need to convert these operations into the correct form.
协同引擎适用于所有的文档协作云服务,它只需要被实现一次,并在集成新的文档协作云服务时得到重用。值得注意的是,图2中只显示了两个机器人,实际上,机器人的数目取决于参与跨云文档协作的用户组个数。这些机器人在中间代理服务中,通过协同引擎相互连接,形成一个P2P的文档协作网络。 The collaboration engine is applicable to all document collaboration cloud services, it only needs to be implemented once, and it will be reused when integrating new document collaboration cloud services. It is worth noting that only two robots are shown in Figure 2. In fact, the number of robots depends on the number of user groups participating in cross-cloud document collaboration. These robots are connected to each other through the collaboration engine in the intermediate agent service, forming a P2P document collaboration network.
2. 文档协作云服务的适配方法 2. Adaptation method of document collaboration cloud service
由于几乎所有的文档协作云服务都不提供文档编辑的API,因此,本发明中采用一种更加通用的方法——Web浏览器自动化技术,实现机器人与文档协作服务的自动化交互。Selenium是实现Web应用自动化的一套工具集,它使用JavaScript注入与Web页面中的UI元素进行交互,并提供Java,C#,Ruby和Python的客户端API。 Since almost all document collaboration cloud services do not provide document editing APIs, a more general method—Web browser automation technology is adopted in the present invention to realize automatic interaction between robots and document collaboration services. Selenium is a set of tools for automating web applications. It uses JavaScript injection to interact with UI elements in web pages and provides client APIs in Java, C#, Ruby, and Python.
在对文档协作服务进行适配之前,我们需要首先定义统一的文档模型和操作。文档模型的选择取决于文档协作中所支持的文档格式,例如适用于描述格式化文档的Office Open XML,描述图形文档的SVG DOM等。这里我们采用简化的格式化文档作为示例,并通过使用Selenium实现对Google Document和Microsoft Word Web App的适配,来说明如何通过Web浏览器自动化技术实现CES适配器接口中的方法。在简化的格式化文档模型中,文本文档是由格式化字符组成的序列构成。文档上支持的操作包括Insert(pos, ch)和Delete(pos, ch),分别表示在指定位置插入一个带格式的字符和删除指定位置的字符。字符格式的修改可以通过Delete和Insert操作的组合来实现。 Before adapting the document collaboration service, we need to define a unified document model and operations. The choice of document model depends on the document formats supported in document collaboration, such as Office Open XML for describing formatted documents, SVG DOM for describing graphic documents, etc. Here we take a simplified formatted document as an example, and use Selenium to implement the adaptation of Google Document and Microsoft Word Web App to illustrate how to implement the methods in the CES adapter interface through Web browser automation technology. In the simplified formatted document model, a text document is constructed as a sequence of formatting characters. The operations supported on the document include Insert(pos, ch) and Delete(pos, ch), which represent inserting a formatted character at a specified position and deleting a character at a specified position, respectively. The modification of the character format can be realized through the combination of Delete and Insert operations.
读取文档状态(ReadDocument)其实是一个将文档的视图表示转换成模型表示的逆向工程。在Web用户界面中,文档对应于HTML视图中一段或多段代码片段。例如,图3 (a)和(b)分别显示了一个示例文本文档及其在Microsoft Word Web App用户界面中对应的HTML代码片段。 Reading the document state ( ReadDocument ) is actually a reverse engineering of converting the view representation of the document into the model representation. In a web user interface, a document corresponds to one or more code fragments in an HTML view. For example, Figure 3 (a) and (b) show a sample text document and its corresponding HTML code snippet in the Microsoft Word Web App user interface, respectively.
在Microsoft Word Web App中,文档内容位于DOM元素<div id = "PageContentContainer" …>中。Selenium能够使用元素的CSS选择器div#PageContentContainer定位该元素。每个段落位于元素p.Paragraph中;具有相同格式的连续字符位于元素span.NormalTextRun中,并通过元素span.TextRun指定文本的格式。图3 (c)、(d)分别显示了Microsoft Word Web App和Google Document中文档显示相关的Web元素构成的层次结构。Selenium支持通过标识符、标签、CSS选择器等定位Web元素,并获取元素的属性和内部文本。因此,文档的内容可以通过遍历文档显示相关元素构成的层次结构被抽取出来。 In Microsoft Word Web App, the document content is located in the DOM element <div id="PageContentContainer" ...>. Selenium is able to target the element using the element's CSS selector div#PageContentContainer. Each paragraph is located in the element p.Paragraph; consecutive characters with the same format are located in the element span.NormalTextRun, and the formatting of the text is specified by the element span.TextRun. Figure 3 (c) and (d) respectively show the hierarchical structure of document display related Web elements in Microsoft Word Web App and Google Document. Selenium supports locating web elements through identifiers, tags, CSS selectors, etc., and obtaining the attributes and internal text of elements. Thus, the content of a document can be extracted by traversing the document to reveal a hierarchy of related elements.
类似普通用户与Web用户界面的交互一样,应用远程操作(Apply)可以通过向用户界面发送一连串的鼠标或键盘消息来完成。在应用一个编辑操作之前,需要将光标移动到操作参数pos所指定的编辑位置。我们采用两种策略来优化光标定位的效率:(1)从段首开始定位。编辑位置的所在段落以及段落之前的字符各数k可以很容易的计算得到,因此,光标定位可以通过一次鼠标操作定位到段首并通过pos-k次右键操作实现;(2)记录前次编辑位置。对于位于统一段落的编辑为止,光标定位可以通过计算与前次编辑位置的相对位置和光标的右移或左移操作完成。第二种策略非常适用于连续的插入和删除操作。将光标设置到正确的编辑位置之后,删除操作可以直接通过向Web用户界面发送一次“DELETE”键盘消息完成。在插入格式化字符时,如果待插入的字符格式与当前格式相同,则直接发送键盘消息即可;否则,需要通过与字体设置相关的UI控件进行交互来设置字符格式。图4显示了Google Document和Microsoft Word Web App中与字体设置相关的UI控件,例如,字体的加粗或取消加粗可以通过如下所示的代码片段实现: Similar to the interaction between ordinary users and the Web user interface, the application remote operation ( Apply ) can be completed by sending a series of mouse or keyboard messages to the user interface. Before applying an editing operation, the cursor needs to be moved to the editing position specified by the operation parameter pos. We adopt two strategies to optimize the efficiency of cursor positioning: (1) start positioning from the beginning of the paragraph. The number k of the paragraph where the editing position is located and the characters before the paragraph can be easily calculated. Therefore, the cursor positioning can be positioned at the beginning of the paragraph by one mouse operation and realized by pos-k right-click operations; (2) record the previous edit Location. For the editing of the same paragraph, the cursor positioning can be completed by calculating the relative position to the previous editing position and moving the cursor to the right or to the left. The second strategy works well for sequential insertion and deletion operations. After setting the cursor to the correct editing position, the delete operation can be completed directly by sending a "DELETE" keyboard message to the web user interface. When inserting formatting characters, if the format of the character to be inserted is the same as the current format, just send a keyboard message directly; otherwise, you need to interact with UI controls related to font settings to set the character format. Figure 4 shows the UI controls related to font settings in Google Document and Microsoft Word Web App. For example, bolding or canceling bolding of fonts can be achieved through the following code snippets:
// Enable/disable the bold font setting in Google Document // Enable/disable the bold font setting in Google Document
driver.findElement(By.cssSelector("div#boldButton")).click() driver.findElement(By.cssSelector("div#boldButton")).click()
// Enable/disable the bold font setting in Microsoft Word Web App // Enable/disable the bold font setting in Microsoft Word Web App
driver.findElement(By.cssSelector("a#fsbcBold-Small")).click() driver.findElement(By.cssSelector("a#fsbcBold-Small")).click()
CES适配器接口中的Sync方法为协同引擎提供了所属组内文档同步编程接口,实际上,它是对文档协作服务的一种扩展以支持异步的文档的同步。Microsoft Word Web App中的文档同步本身就是异步的,用户需要通过点击“保存”按钮或“Ctrl+S”按键显式的保存文档来触发文档同步。所以,Microsoft Word Web App适配器的Sync方法可以通过向“保存”按钮(a#qatSave-Small)控件发送一次鼠标点击事件完成。但是,Google Document中的文档是实时同步的,用户文档被自动保存并能实时看到组内其他用户对文档的更改。幸运的是,Google Document可以支持离线的文档编辑,离线操作被保存在本地,并在网络可用时同步到服务器上。因此,可以通过在线和离线的工作模式切换实现Google Document的异步文档同步。 The Sync method in the CES adapter interface provides the collaborative engine with the document synchronization programming interface within the group. In fact, it is an extension of the document collaboration service to support the synchronization of asynchronous documents. The document synchronization in Microsoft Word Web App is itself asynchronous, and the user needs to click the "Save" button or the "Ctrl+S" button to explicitly save the document to trigger the document synchronization. So, the Sync method of the Microsoft Word Web App adapter can be done by sending a mouse click event to the "Save" button (a #qatSave-Small) control. However, the documents in Google Document are synchronized in real time, user documents are automatically saved and changes made to documents by other users in the group can be seen in real time. Fortunately, Google Document can support offline document editing. Offline operations are saved locally and synchronized to the server when the network is available. Therefore, the asynchronous document synchronization of Google Document can be realized by switching between online and offline working modes.
3. 通用的协同引擎 3. General collaborative engine
由于在跨云文档协作中,不同文档协作云服务中的用户对共享文档进行并发的修改,因此,将接收到的来自其他机器人的远程操作将会导致不一致的文档状态。例如,如图5(a)所示,假设机器人用户和的原始文档均为。在文档同步之前,和分别检测到文档状态被组内用户更改为和,如果他们彼此交换更新操作和,并将操作直接应用于本地文档上,的文档状态将变为,而的文档状态将变为,其中字符被错误的删除了。 Since in cross-cloud document collaboration, users in different document collaboration cloud services modify the shared document concurrently, the received remote operations from other robots will result in inconsistent document status. For example, as shown in Figure 5(a), suppose the robot user and The original documents for . Before the document is synced, and Respectively detects that the document status has been changed by a user in the group to and , if they exchange update operations with each other and , and apply the operation directly on the local document, The document status for will change to ,and The document status for will change to , where the characters was deleted by mistake.
因此,本发明采用地址空间转换技术AST,在执行接收到的远程操作之前,首先将其转换成正确的形式,再通过CES适配器中的Apply方法将转换后的操作应用于机器人的本地文档上,如图5(b)所示,远程操作在执行之前被转换成了;类似的,在执行之前被转换成,尽管其转换后的形式和其原有形式相同。 Therefore, the present invention adopts the address space conversion technology AST, and before executing the received remote operation, first converts it into the correct form, and then applies the converted operation to the local file of the robot through the Apply method in the CES adapter, As shown in Figure 5(b), the remote operation before execution is converted to ;akin, is converted to , even though its transformed form is the same as its original form.
在中间代理服务中,各机器人用户组成了一个P2P的文档协作网络。对于一个机器人用户而言,其本地文档对应于所属文档协作服务中的共享文档,所属组内其他普通用户对文档的编辑操作可以被视为机器人用户在其本地文档上所执行的操作。 In the intermediate proxy service, each robot user forms a P2P document collaboration network. For a robot user, its local document corresponds to the shared document in the document collaboration service to which it belongs, and the editing operations on the document by other ordinary users in the group can be regarded as operations performed by the robot user on its local document.
协同引擎的实现可以适用于所有的文档协作云服务,其中包括两个核心的方法DetectLocalChanges和ExecuteRemoteChanges,分别用于检测本地文档的更新和执行接收到的远程操作。在所有的用户操作在各机器人的本地文档上都得到执行之后,所有文档协作服务中的共享文档将处于一致状态。 The implementation of the collaboration engine can be applied to all document collaboration cloud services, including two core methods DetectLocalChanges and ExecuteRemoteChanges , which are used to detect the update of the local document and execute the received remote operation respectively. After all user actions have been performed on each robot's local document, the shared document across all document collaboration services will be in a consistent state.
DetectLocalChanges方法可按如下步骤实现: The DetectLocalChanges method can be implemented as follows:
步骤1:调用CES适配器中的Sync方法更新本地文档状态; Step 1 : Call the Sync method in the CES adapter to update the local document status;
步骤2:调用CES适配器中的ReadDocument方法读取并记录当前的文档状态; Step 2 : Call the ReadDocument method in the CES adapter to read and record the current document status;
步骤3:与之前记录的文档状态进行diff操作; Step 3 : Perform a diff operation with the previously recorded document status;
步骤4:如果检测到更新,则将更新操作发送至其他机器人站点。 Step 4 : If an update is detected, send the update action to other robot sites.
在典型的实时协同组编辑中,用户执行的操作将被捕捉并记录,然而,在文档协作服务间的互操作中,机器人用户却无法获知组内其他普通用户对文档的操作历史。因此,我们在本发明中采用文档间diff的方式来推导出文档上的更新操作。 In a typical real-time collaborative group editing, the operations performed by users will be captured and recorded. However, in the interoperation between document collaboration services, robot users cannot know the operation history of other ordinary users in the group on documents. Therefore, in this invention, we use the way of diff between documents to derive the update operation on the document.
给定远程机器人用户标识符,接收到的远程操作,以及操作产生时文档状态的向量时间戳,ExecuteRemoteChanges方法可以按照如下步骤实现: Given remote robot user identifier , the received remote operation , and a vector timestamp of the document state when the operation occurred , the ExecuteRemoteChanges method can be implemented as follows:
步骤1:如果操作处于非因果就绪状态,将其加入等待队列并返回;否则,跳至步骤2; Step 1 : If the operation is in the non-causal ready state, add it to the waiting queue and return; otherwise, skip to step 2;
步骤2:通过AST方法将操作opts转换成正确形式; Step 2 : Convert the operation opts into the correct form through the AST method;
步骤3:调用CES适配器中的Apply方法将转换后的操作应用于本地文档; Step 3 : Call the Apply method in the CES adapter to apply the converted operation to the local document;
步骤4:检查等待队列,重复步骤2和步骤3执行因果就绪操作; Step 4 : Check the waiting queue, repeat steps 2 and 3 to execute the causal ready operation;
步骤5:调用CES适配器中的Sync方法更新所属组的共享文档。 Step 5 : Call the Sync method in the CES adapter to update the shared document of the group to which it belongs.
本发明的有益效果在于:一方面,用户可以使用他们所熟悉的服务参与跨云文档协作,而不需要学习或为新的服务付费,不需要安装任何软件或插件;另一方面,服务提供商不需要投入任何额外工作,如制定标准或修改代码,即可实现和其他类似的服务间的互操作。 The beneficial effects of the present invention are: on the one hand, users can use their familiar services to participate in cross-cloud document collaboration without learning or paying for new services, and without installing any software or plug-ins; on the other hand, service providers Interoperability with other similar services can be achieved without any additional work, such as developing standards or modifying code.
附图说明 Description of drawings
图1:本发明的基本思想:通过自动化机器人与所属文档协作云服务之间的交互以及机器人之间的文档同步,来实现异构文档协作云服务间的透明互操作。 Figure 1: The basic idea of the present invention: realize the transparent interoperability among heterogeneous document collaboration cloud services through the interaction between the automation robot and the associated document collaboration cloud service and the document synchronization between the robots.
图2:中间代理服务的体系结构。 Figure 2: Architecture of the intermediate proxy service.
图3:(a) 一个示例文本文档; (b) 示例文档在Microsoft Word Web App用户界面中对应的HTML代码片段; (c)–(d) Microsoft Word Web App和Google Document与文档显示相关的Web元素层次结构。 Figure 3: (a) a sample text document; (b) the HTML code snippet corresponding to the sample document in the Microsoft Word Web App user interface; (c)–(d) Microsoft Word Web App and Google Document related to the document display Web Element hierarchy.
图4:(a) Google Document和 (b) Microsoft Word Web App中与字体设置相关的UI控件及其CSS选择器。 Figure 4: UI controls related to font settings and their CSS selectors in (a) Google Document and (b) Microsoft Word Web App.
图5:(a) 机器人之间文档同步中的不一致问题;(b) 操作转换。 Figure 5: (a) Inconsistencies in document synchronization between robots; (b) Operational transitions.
具体实施方式 Detailed ways
跨云文档协作的中间代理服务可以参照以下方式实现: The intermediate proxy service for cross-cloud document collaboration can be implemented in the following ways:
(1)根据发明内容部分实现通用协同引擎,其中DetectLocalChanges和 (1) Realize the general collaboration engine according to the content of the invention, where DetectLocalChanges and
ExecuteRemoteChanges方法的伪代码分别参见附录2和附录3。协同引擎中的操作转换方法可以参阅文献顾宁等人发表于ACM Group’05上的文章《Consistency maintenance based on the mark & retrace technique in groupware systems》(《群件系统中基于标记回溯的一致性维护方法》)。所实现的协同引擎可以被重用,如图2所示,各机器人之间通过协同引擎连接,形成一个P2P的文档协作网络。因此,在协同引擎中还需要实现相应的消息收发模块,用于广播本地操作和接收远程操作。
For the pseudocode of the ExecuteRemoteChanges method, see
(2 如发明内容所述的文档协作云服务的适配方法,为每一个需要接入的文档协作云服务(例如:Google Document或Microsoft Word Web App)独立实现适配器接口CESAdaptor中的三个方法:ReadDocument,Apply,Sync。实现过程中需要对文档结构、文档元素以及相应的界面元素进行分析,并利用Selenium框架对其进行访问和交互。值得注意的是,ReadDocument方法返回的文档状态必须定义在统一的文档模型之上。 Apply方法的实现示例可参见附录1,该伪代码给出了执行格式化字符插入和删除操作的示例。
(2 The adaptation method of the document collaboration cloud service as described in the summary of the invention, for each document collaboration cloud service that needs to be accessed (for example: Google Document or Microsoft Word Web App), independently implement the three methods in the adapter interface CESAdaptor : ReadDocument , Apply , Sync . During the implementation process, it is necessary to analyze the document structure, document elements and corresponding interface elements, and use the Selenium framework to access and interact with them. It is worth noting that the document status returned by the ReadDocument method must be defined in the unified On top of the document model of .Apply method implementation example can be found in
(3)如图2所示,各机器人由CES Web用户界面,CES适配器和通用协 (3) As shown in Figure 2, each robot consists of a CES Web user interface, a CES adapter and a general protocol
同引擎三个组件构成。各机器人可以运行在一个单独的进程中。为了实现跨云文档协作,还需要对各机器人进程进行统一调度。具体调度方式可根据实际的应用流程确定。例如可按照如下方式开始跨云文档协作:启动机器人进程→启动Web浏览器→打开共享文档→启动协同引擎。为了保证异构云服务中的文档状态能够正确同步,在启动协同引擎之前,需要保证各机器人所读取的文档状态处于一致状态。 The same engine is composed of three components. Each robot can run in a separate process. In order to achieve cross-cloud document collaboration, it is also necessary to uniformly schedule each robot process. The specific scheduling method can be determined according to the actual application process. For example, cross-cloud document collaboration can be started in the following manner: start the robot process→start the web browser→open the shared document→start the collaboration engine. In order to ensure that the document states in heterogeneous cloud services can be correctly synchronized, before starting the collaborative engine, it is necessary to ensure that the document states read by each robot are in a consistent state.
附录1. 操作应用于机器人的本地文档
附录2. 检测文档状态变化
* 其中Diff方法可以使用Mayes Diff,返回从文档状态doc生成newdoc的Insert和Delete操作序列。 * Among them, the Diff method can use Mayes Diff to return the sequence of Insert and Delete operations that generate newdoc from the document state doc.
附录3. 执行远程操作Appendix 3. Performing remote operations
* 操作转换可以使用AST技术实现,该技术的实现方法可参阅如下参考文献:Gu, Ning, Jiangming Yang, and Qiwei Zhang. "Consistency maintenance based on the mark & retrace technique in groupware systems." In Proceedings of the 2005 international ACM SIGGROUP conference on Supporting group work, pp. 264-273. ACM, 2005。 * Operation conversion can be implemented using AST technology. For the implementation method of this technology, please refer to the following references: Gu, Ning, Jiangming Yang, and Qiwei Zhang. "Consistency maintenance based on the mark & retrace technique in groupware systems." In Proceedings of the 2005 international ACM SIGGROUP conference on Supporting group work , pp. 264-273. ACM, 2005.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439944.4A CN103488754B (en) | 2013-09-22 | 2013-09-22 | A kind of method of transparent interoperability between heterogeneous profiles cooperation cloud service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439944.4A CN103488754B (en) | 2013-09-22 | 2013-09-22 | A kind of method of transparent interoperability between heterogeneous profiles cooperation cloud service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488754A true CN103488754A (en) | 2014-01-01 |
CN103488754B CN103488754B (en) | 2017-03-29 |
Family
ID=49828980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310439944.4A Expired - Fee Related CN103488754B (en) | 2013-09-22 | 2013-09-22 | A kind of method of transparent interoperability between heterogeneous profiles cooperation cloud service |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488754B (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743973A (en) * | 2016-01-22 | 2016-07-06 | 上海科牛信息科技有限公司 | Multi-user multi-device real-time synchronous cloud cooperation method and system |
CN106789535A (en) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | The IP cut-in methods and device of SSL VPN |
CN106951479A (en) * | 2017-03-08 | 2017-07-14 | 北京仿真中心 | A kind of emulation data visualization collaboration applications system and method based on cloud environment |
CN107277112A (en) * | 2017-05-24 | 2017-10-20 | 复旦大学 | A kind of scalable and efficient address space transformation algorithm |
CN107608900A (en) * | 2017-10-12 | 2018-01-19 | 郑州云海信息技术有限公司 | A kind of automated testing method that Selenium is aided in using JavaScript scripts |
CN107622380A (en) * | 2017-09-29 | 2018-01-23 | 南京宏海科技有限公司 | Based on cloud service interaction, the method for preserving document information, approaches to IM |
CN107710202A (en) * | 2015-06-29 | 2018-02-16 | 微软技术许可有限责任公司 | With the primary document of cloud of old Tool integration |
CN108063812A (en) * | 2017-12-13 | 2018-05-22 | 上海理工大学 | The consistency maintaining method of file management under real-time cloud office system |
CN112667585A (en) * | 2019-11-19 | 2021-04-16 | 腾讯科技(深圳)有限公司 | Synchronous management method, device and equipment for online documents |
CN112987915A (en) * | 2021-02-04 | 2021-06-18 | 复旦大学 | AST-based method applied to VR conference and whiteboard editing task |
CN114968400A (en) * | 2022-05-20 | 2022-08-30 | Oppo广东移动通信有限公司 | A web page synchronization method, device, storage medium and electronic device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230620A1 (en) * | 2003-05-16 | 2004-11-18 | Chung-I Lee | System and method for electronic document control |
CN101127644A (en) * | 2007-08-30 | 2008-02-20 | 复旦大学 | A Causal Concurrency Detection Method in Large-Scale Collaborative Environment |
CN102637210A (en) * | 2012-03-30 | 2012-08-15 | 云南远信科技有限公司 | Management platform of electronic files |
CN102819531A (en) * | 2011-06-10 | 2012-12-12 | 北大方正集团有限公司 | Cloud reading service system, cloud reading service method and device |
-
2013
- 2013-09-22 CN CN201310439944.4A patent/CN103488754B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230620A1 (en) * | 2003-05-16 | 2004-11-18 | Chung-I Lee | System and method for electronic document control |
CN101127644A (en) * | 2007-08-30 | 2008-02-20 | 复旦大学 | A Causal Concurrency Detection Method in Large-Scale Collaborative Environment |
CN102819531A (en) * | 2011-06-10 | 2012-12-12 | 北大方正集团有限公司 | Cloud reading service system, cloud reading service method and device |
CN102637210A (en) * | 2012-03-30 | 2012-08-15 | 云南远信科技有限公司 | Management platform of electronic files |
Non-Patent Citations (2)
Title |
---|
STEVEN XIA ET AL: "Leveraging Single-user Applications for Multi-user Collaboration: the CoWord Approcah", 《PROC. OF CSCW 04. NEW YORK, USA:ACM PRESS, 2004》 * |
绍斌: "实时协同中的一致性维护关键技术", 《计算机工程》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710202A (en) * | 2015-06-29 | 2018-02-16 | 微软技术许可有限责任公司 | With the primary document of cloud of old Tool integration |
CN105743973A (en) * | 2016-01-22 | 2016-07-06 | 上海科牛信息科技有限公司 | Multi-user multi-device real-time synchronous cloud cooperation method and system |
CN105743973B (en) * | 2016-01-22 | 2019-05-10 | 上海科牛信息科技有限公司 | A kind of more equipment real-time synchronization cloud collaboration methods of more people and system |
CN106789535B (en) * | 2016-12-29 | 2019-12-06 | 杭州迪普科技股份有限公司 | IP access method and device of SSL VPN |
CN106789535A (en) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | The IP cut-in methods and device of SSL VPN |
CN106951479A (en) * | 2017-03-08 | 2017-07-14 | 北京仿真中心 | A kind of emulation data visualization collaboration applications system and method based on cloud environment |
CN107277112A (en) * | 2017-05-24 | 2017-10-20 | 复旦大学 | A kind of scalable and efficient address space transformation algorithm |
CN107277112B (en) * | 2017-05-24 | 2020-10-30 | 复旦大学 | Scalable and efficient address space conversion algorithm |
CN107622380A (en) * | 2017-09-29 | 2018-01-23 | 南京宏海科技有限公司 | Based on cloud service interaction, the method for preserving document information, approaches to IM |
CN107608900A (en) * | 2017-10-12 | 2018-01-19 | 郑州云海信息技术有限公司 | A kind of automated testing method that Selenium is aided in using JavaScript scripts |
CN108063812B (en) * | 2017-12-13 | 2020-07-17 | 上海理工大学 | Consistency maintenance method for file management under real-time cloud office system |
CN108063812A (en) * | 2017-12-13 | 2018-05-22 | 上海理工大学 | The consistency maintaining method of file management under real-time cloud office system |
CN112667585A (en) * | 2019-11-19 | 2021-04-16 | 腾讯科技(深圳)有限公司 | Synchronous management method, device and equipment for online documents |
CN112987915A (en) * | 2021-02-04 | 2021-06-18 | 复旦大学 | AST-based method applied to VR conference and whiteboard editing task |
CN112987915B (en) * | 2021-02-04 | 2022-10-11 | 复旦大学 | AST-based method for collaborative whiteboard editing tasks in VR conferences |
CN114968400A (en) * | 2022-05-20 | 2022-08-30 | Oppo广东移动通信有限公司 | A web page synchronization method, device, storage medium and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN103488754B (en) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488754B (en) | A kind of method of transparent interoperability between heterogeneous profiles cooperation cloud service | |
CN107832045B (en) | Method and apparatus for cross programming language interface conversion | |
CN102362270B (en) | Providing access to a conversation in a hosted conversation system | |
US9432455B2 (en) | Synchronizing events between mobile devices and servers | |
CN104158836B (en) | A kind of method by data render mobile application interface | |
US8023934B2 (en) | Synchronizing communications and data between mobile devices and servers | |
Pautasso | Composing restful services with jopera | |
US20140337760A1 (en) | Collaboration adapter to exploit single-user web applications for collaborative work | |
CN112667585B (en) | Synchronous management method, device and equipment for online documents | |
KR20130126901A (en) | Synchronizing online document edits | |
CN110795147A (en) | Interface protocol file management method and device | |
CN113728306A (en) | Developer cooperative control system | |
CN101741866B (en) | On-line storage system and method | |
CN114500570B (en) | Task processing methods, devices, electronic devices and computer-readable storage media | |
Ignat et al. | Enhancing rich content wikis with real‐time collaboration | |
JP2025510078A (en) | Document block sharing method, system, storage medium, and program | |
CN114528473A (en) | Websocket-based information integration release method and system | |
CN110807535A (en) | Construction method of unified reservation platform, construction device and unified reservation platform system | |
Xia et al. | Hermes: On collaboration across heterogeneous collaborative editing services in the cloud | |
CN103593345A (en) | Webpage flow chart editing method and system | |
CN104298416B (en) | The generation method and device of message are automatically replied in instant messaging | |
CN103809951A (en) | Graphical service arrangement and management device based on FLEX technology | |
CN114610319B (en) | A method for automatically generating smart contracts based on BPMN collaboration diagrams | |
CN101588317A (en) | Method for realizing dynamic release of website messages | |
US10489219B2 (en) | Transitioning between data stream processors in a publish-subscribe system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170329 |