Control Method, Device and System of Data Block, Electronic Device, Storage Medium

The method and apparatus for controlling data blocks address the issue of lost citations in online document technologies by maintaining and updating citation relationships during data block operations, ensuring seamless and synchronized citation across documents.

JP2025516375APending Publication Date: 2025-05-27BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024566544
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-11
Filing Date
2023-05-08
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

Existing online document technologies lack a comprehensive real-time citation function, leading to loss of cited content when users move or drag content within documents.

Method used

A method and apparatus for controlling data blocks that determine and update citation relationships between data blocks in response to target operations such as inserting, deleting, moving, or replacing sub-data blocks, ensuring that citation relationships are maintained even when data blocks are repositioned.

Benefits of technology

The solution ensures that citation relationships are synchronously updated, preventing loss of cited content and improving the utilization and consistency of documents across multiple citations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025516375000001_ABST
    Figure 2025516375000001_ABST
Patent Text Reader

Abstract

The present disclosure relates to the field of computer technology, and specifically, to a method, apparatus, and system for controlling data blocks, an electronic device, and a storage medium. The method for controlling a data block provided by an embodiment of the present disclosure includes: determining whether there is a citation relationship between a first data block of a first document and a second document in response to a target operation being performed on the first data block of the first document, where the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block, and the citation relationship includes one or more of the data blocks being cited in the document; and updating the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block and the second document.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-reference to Related Applications

[0001] This application is based on and claims priority to a Chinese patent application with an application number of 202210515870.7, a filing date of May 11, 2022, and a title of "Method, Apparatus, and System for Controlling Data Blocks, Electronic Device, and Storage Medium", and the entire content of the Chinese patent application is incorporated herein by reference in its entirety.

Technical Field

[0002] The present disclosure relates to the field of computer technology, and more particularly, to a method for controlling data blocks, a device for controlling data blocks, a system for controlling data blocks, an electronic device, and a storage medium.

Background Art

[0003] Related online document technologies can provide a real-time citation function, that is, a user can cite consecutive content of another online document in one online document, and when the cited content is changed in the original / citation, the corresponding citation / original can be updated accordingly. In this way, some content can be displayed in multiple documents and synchronized in real time, so that the utilization rate of the documents can be improved to a certain extent. However, the real-time citation function provided by related online document technologies is not perfect, and the cited parts are easily lost, which causes inconvenience to users.

Summary of the Invention

[0004] To introduce the concepts of this invention in a simplified form, a summary of this invention is provided. These concepts will be described in detail in the following detailed embodiments. The summary of this invention is not intended to identify the main features or essential features of the claimed technical solution, nor is it intended to be used to limit the scope of the claimed technical solution.

[0005] In a first aspect, according to one or more embodiments of the present disclosure, A method for controlling a data block, the method comprising: Determining whether there is a citation relationship between the first data block of the first document and the second document in response to a target operation being performed on the first data block of the first document, wherein the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; Updating the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block and the second document; Provided is a method for controlling a data block.

[0006] In a second aspect, according to one or more embodiments of the present disclosure, A method for controlling a data block, the method comprising: Determining a data block to be cited in the first document, wherein there is a citation relationship between the data block to be cited and the second document; Changing the position of the data block to be cited in the first document in response to a target operation performed on the data block to be cited; Maintaining the citation relationship between the second document and the data block to be cited in response to changing the position of the data block to be cited in the first document. Provided is a method for controlling a data block.

[0007] In a third aspect, according to one or more embodiments of the present disclosure, A method for controlling a data block, the method comprising: Receiving update information of a selected area transmitted by a server, wherein the update information of the selected area is generated by the server In response to a target operation being performed on the first data block, a process of determining whether the first data block is a data block related to the selection area; When it is determined that the first data block is a data block related to the selection area, a process of redetermining the data block and / or range related to the selection area based on the target operation; A process of determining update information for the selection area based on the redetermined data block and / or range related to the selection area; Based on the determined, the selection area is organized to describe the position and range of the data block to be cited by the data block related to the selection area and the range of the selection area, and the data block to be cited is a data block cited by at least one online document, steps; Updating the selection area based on the update information of the selection area, including. A method for controlling a data block is provided.

[0008] In a fourth aspect, according to one or more embodiments of the present disclosure, An apparatus for controlling a data block, the apparatus comprising: A determination unit that determines whether there is a citation relationship between the first data block and the second document in response to a target operation being performed on the first data block of the first document, wherein the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; An update unit that updates the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block and the second document; An apparatus for controlling a data block is provided.

[0009] In a fifth aspect, according to one or more embodiments of the present disclosure, An apparatus for controlling a data block, the apparatus comprising: A determination unit for determining a data block to be cited in a first document, the determination unit for the data block to be cited having a citation relationship between the data block to be cited and a second document; A position change unit for changing the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; A citation unit for maintaining a citation relationship between the second document and the data block to be cited in response to a change in the position of the data block to be cited in the first document, the apparatus for controlling a data block comprising the citation unit.

[0010] In a sixth aspect, according to one or more embodiments of the present disclosure, An apparatus for controlling a data block, the apparatus comprising: An information receiving unit for receiving update information of a selected area transmitted by a server, the update information of the selected area being determined by the server In response to a target operation being performed on a first data block, a process of determining whether the first data block is a data block related to a selected area; When it is determined that the first data block is a data block related to a selected area, a process of re-determining a data block and / or range related to the selected area based on the target operation; A process of determining update information of a selected area based on the data block and / or range related to the re-determined selected area; The information receiving unit is determined based on the above, the selected area is organized to describe the position and range of the data block to be cited by the data block related to the selected area and the range of the selected area, and the data block to be cited is a data block cited by at least one online document; A selected area update unit for updating the selected area based on the update information of the selected area. Provide an apparatus for controlling a data block.

[0011] In a seventh aspect, according to one or more embodiments of the present disclosure, a control system, the control system comprising: a server having the apparatus for controlling a data block provided in the fourth aspect above; at least one terminal having the apparatus for controlling a data block provided in the sixth aspect above, and providing a control system for a data block.

[0012] In an eighth aspect, according to one or more embodiments of the present disclosure, an electronic device, the electronic device comprising: at least one memory storing program code; and at least one processor that calls and executes the program code stored in the memory to cause the electronic device to execute a method for controlling a data block provided by one or more embodiments of the present disclosure.

[0013] In a ninth aspect, according to one or more embodiments of the present disclosure, provide a non-transitory computer storage medium storing program code, wherein when the program code is executed by a computer device, the computer device is caused to execute a method for controlling a data block provided by one or more embodiments of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The above and other features, advantages, and aspects of various embodiments of the present disclosure will become more apparent by reference to the following specific embodiments in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. It is to be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale.

[0015]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Embodiments for Carrying Out the Invention

[0016] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Although specific embodiments of the present disclosure are shown in the drawings, the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein. Rather, it is provided for a more thorough and complete understanding. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and do not limit the scope of protection of the present disclosure.

[0017] It should be understood that each step described in the embodiments of the present disclosure can be executed in a different order and / or in parallel. Also, the embodiments may include additional steps and / or omit the execution of the illustrated steps. The scope of the present disclosure is not limited in this regard.

[0018] As used herein, the term "comprising" and its variations are non-limiting, i.e., "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" represents "at least one embodiment", the term "another embodiment" represents "at least one additional embodiment", and the term "some embodiments" represents "at least some embodiments". The term "responding" and related terms mean that one signal or event is affected to some extent by another signal or event, but not necessarily completely or directly. When event x occurs "in response to" event y, x can respond to y directly or indirectly. For example, the occurrence of y may ultimately lead to the occurrence of x, but there may be other intermediate events and / or conditions. In other cases, y does not necessarily cause x to occur, and x may occur even if y has not yet occurred. Also, the term "responding" may mean "responding at least in part".

[0019] The term "determine" broadly covers a variety of operations including obtaining, calculating, computing, processing, deriving, investigating, searching (e.g., searching within a table, database, or other data structure), verifying, and similar operations, and can further include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and similar operations, as well as analyzing, selecting, choosing, establishing, and similar operations. Related definitions of other terms are given in the following description.

[0020] Note that concepts such as "first" and "second" referred to in the present disclosure are used only for distinguishing different devices, modules, or units, and are not used to limit the order or interdependence of functions executed by these devices, modules, or units.

[0021] Note that the modifications of "one" and "a plurality" referred to in the present disclosure are exemplary and not limiting, and those skilled in the art should understand them as "one or a plurality" unless the context clearly indicates otherwise.

[0022] For the purposes of the present disclosure, the term "A and / or B" means (A), (B), or (A and B).

[0023] The names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are for illustrative purposes only and are not used to limit the scope of these messages or information.

[0024] Referring to FIG. 1, FIG. 1 shows a method for controlling a data block provided by an embodiment of the present disclosure, and includes steps S12 and S14.

[0025] Step 12: In response to a target operation being performed on a first data block of a first document, determining whether there is a citation relationship between the first data block and a second document, where the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block.

[0026] In some embodiments, a data block is a basic unit when editing an online document, and the data block can be used to display information such as text information, image information, or multimedia information. One data block can be used to display the text of one paragraph or multiple paragraphs, and multiple data blocks can be sub-data blocks of another data block.

[0027] In some embodiments, the second document is a document other than the first document. In one embodiment, the second document may be any one or more online documents other than the first document. In another embodiment, the second document may be one or more online documents other than the first document.

[0028] Note that unless otherwise specified, the citation relationship between the data block and the document in this embodiment includes whether one or more sub-data blocks of the data block are cited by the document, or whether one or more sub-data blocks of the data block are cited from the document.

[0029] Referring to FIG. 2, FIG. 2 shows a schematic diagram of an online document according to an embodiment of the present disclosure. In the first online document 210, text information such as "text content A1", "text content A2", "text content B2", "text content C2", "text content B1" is displayed in data blocks 10, 11, 12, 13, and 20 respectively. Data blocks 11, 12, and 13 are sub-data blocks of the first data block 10, and the first data block 10 and the second data block 20 are sub-data blocks of the data block 30. Also, the data block 30 may be a sub-data block of other data blocks, but this embodiment is not limited thereto. The second online document 220 quotes the data blocks 11 and 12 of the first online document 210, that is, there is a citation relationship between the second online document 220 and the first data block 10.

[0030] FIG. 4 shows a schematic diagram of the node relationship of data blocks provided by an embodiment of the present disclosure. In FIG. 4, each node corresponds to one data block. The root node R has nodes A0, B0, and C0 downward, that is, it is represented that the root node is the parent node of nodes A0, B0, and C0. Node A0 has nodes A1 and B1 downward, that is, it is represented that node A0 is the parent node of nodes A1 and B1. Node A1 has nodes A2, B2, and C2 downward, that is, it is represented that node A1 is the parent node of nodes A2, B2, and C2. Node A2 has nodes A3 and B3 downward, that is, it is represented that node A2 is the parent node of nodes A3 and B3. Node B2 has node C3 downward, and it is represented that node B2 is the parent node of node C3.

[0031] In a specific embodiment, the target operation can support inserting, deleting, moving, or replacing items in a list and, if necessary, shuffling adjacent list items. For example, the instruction "{p:[path,idx],li:obj}" can be used to insert the object "obj" before the item with the index value "idx" in the list, the instruction "{p:[path,idx],ld:obj}" can be used to delete the object "obj" with the index value "idx" from the list, the instruction "{p:[path,key],oi:obj}" can be used to insert the object "obj" into the object at [path], and the instruction "{p:[path,key],od:before,oi:after}" can be used to replace the object "before" with the object "after".

[0032] In the following, taking Figure 4 as an example, when deleting the data block B2 from the data block A1, the instruction {p:[“children”,1],ld:“B2”} can be used. To insert the data block D2 between the data block A2 and the data block B2, {p:[“children”,1],li:“D2”} can be used. When replacing the data blocks A2 and B2 with the data blocks D2 and E2, the instruction {p:[path,key],od:before,oi:after} can be used.

[0033] Step S14: In response to determining that there is a citation relationship between the first data block and the second document, based on the target operation, determine the citation relationship between at least one data block in the first document and the second document.

[0034] In some embodiments, step S14 includes updating the citation relationship between the first data block and the second document based on the target operation. When, due to the target operation, all or a part of the most cited data blocks among the data blocks cited by the second document and located under the first data block are moved under the second data block in the first document, step S14 further includes determining the citation relationship between the second data block and the second document based on the target operation.

[0035] In some embodiments, in the first data block, based on the relative positional relationship between the data block targeted by the target operation and other sub-data blocks of the first data block, the citation relationship between the first data block and the second document can be updated.

[0036] In some embodiments, based on the relative positional relationship between the data block cited and moved under the second data block by the target operation and other sub-data blocks of the second data block, the citation relationship between the second data block and the second document is determined.

[0037] This will be exemplarily described below.

[0038] The data block A1 of the first document has three sub-data blocks, namely A2, B2, and C2, facing downward. If the second document quotes the second and third sub-data blocks (i.e., B2 and C2) below the data block A1, and the user inserts or deletes one sub-data block after C2, the data blocks quoted by the second document are still the second and third sub-data blocks (i.e., B2 and C2) below the data block A1. If the user inserts one sub-data block before B2, the data blocks quoted by the second document are changed to the third and fourth sub-data blocks (i.e., still B2 and C2) below the data block A1. If the user deletes the sub-data block A2, the data blocks quoted by the second document are changed to the first and second sub-data blocks (i.e., still B2 and C2) below the data block A1. If the user inserts one sub-data block X2 between B2 and C2, the data blocks quoted by the second document are changed to the second to fourth sub-data blocks (i.e., B2, X2, C2) below the data block A1.

[0039] Assume that all of the sub-data blocks A2, B2, and C2 of the first data block A1 of the first document are cited by the second document. When the user drags (drag and drop) the sub-data blocks A2 and B2 under the second data block B1 of the first document, and drags the sub-data block C2 under the third data block C1 of the first document, the citation relationship between the second document and the second data block B1 can be constructed. Further, if there is no original sub-data block in the second data block B1, the citation relationship can be further determined as the first or second data block under the data block B1 cited by the second document. If there are originally sub-data blocks D4 and F4 in the second data block B1, and the cited sub-data blocks A2 and B2 are dragged before the sub-data blocks D4 and E4, the citation relationship can be further determined as the first or second data block under the data block B1 cited by the second document. When the sub-data blocks A2 and B2 are dragged behind the original sub-data blocks D4 and E4 of the second data block B1, the citation relationship can be further determined as the third or fourth data block under the data block B1 cited by the second document. When the sub-data blocks A2 and B2 are dragged between the sub-data blocks D4 and E4, the citation relationship can be further determined as the second or third data block under the data block B1 cited by the second document.

[0040] Thus, according to one or more embodiments of the present disclosure, in response to a target operation being performed on the first data block of the first document, it is determined whether there is a citation relationship between the first data block and the second document. In response to determining that there is a citation relationship between the first data block and the second document, based on the target operation, the citation relationship between at least one data block in the first document and the second document is updated, and synchronous update of the cited data block can be realized.

[0041] According to one or more embodiments of the present disclosure, Step S120: In response to a target operation being performed on a first data block, determining whether the first data block is a data block related to a selection region, where the selection region is compiled to describe the position and range of a data block to be cited based on data blocks related to the selection region and the range of the selection region, and the data block to be cited is a data block cited by at least one online document. Step S140: In response to determining that the first data block is a data block related to a selection region, re-determining the data block and / or range related to the selection region based on the target operation. A method for controlling a data block is provided, which includes the above steps.

[0042] According to one or more embodiments of the present disclosure, the position and range of a data block to be cited can be described by setting a selection region. This will be schematically described by taking FIG. 4 as an example. Assume that the index values of data blocks A2, B2, and C2 are 0, 1, and 2 in sequence, and data blocks A2 and B2 are data blocks to be cited. It is possible to set the data block (or related node) related to the selection region S as A1 and the range of the selection region S as [0,1]. The data blocks corresponding to the node A2 with index value 0 under the node A1 (i.e., node A2), the child node with index value "1" (i.e., node B2), and their child nodes (if any) are represented as data blocks to be cited. "0" is the start index value, "1" is the end index value, and the range of the selection region is a closed interval.

[0043] Note that it is also possible to adopt other numerical values, numerical ranges, and numerical intervals for the range of the selection region, and this embodiment is not limited thereto. The first data block in this embodiment can be located in the original text or the citation text, and the citation text is an online document that cites one or more data blocks of the original text, and this embodiment is not limited thereto.

[0044] In some embodiments, one selection region is used to describe one data block or a group of contiguous data blocks. In some embodiments, when all or most of the data blocks to be cited that are under the first data block are moved under the second data block by the target operation, the data blocks related to the selected region are changed from the first data block to the second data block.

[0045] Unless otherwise stated, the "data block under / within data block A" referred to in this disclosure refers to the sub-data block of data block A, and the "move data block A under / within data block B" referred to in this disclosure means moving data block A under / within data block B so that data block A becomes a sub-data block of data block B.

[0046] In a specific embodiment, for example, referring to FIGS. 2 to 3, when the user drags the data blocks 11 and 12 to be cited from under the data block 10 to under the data block 20 in the first online document 210, the data blocks related to the selected region can be changed from the original data block 10 to the data block 20 accordingly. Referring to FIG. 4, when the user drags the data blocks to be cited corresponding to nodes A2 and B2 under the data block corresponding to node B1, the data blocks (or related nodes) related to the selected region are changed from the original "A1" to "B1".

[0047] Furthermore, in some embodiments, the range of the selected region is redetermined based on the relative positional relationship between the data blocks to be cited that have been moved under the second data block by the target operation and the other sub-data blocks of the second data block.

[0048] In a specific embodiment, referring to FIG. 4, the related data block of the selection region S is A1, and the range is the closed interval [0, 1]. When the user drags the data blocks A2 and B2 to be cited below the data block B1, the data block (or related node) related to the selection region is determined from the original "A1" to "B1". Next, below the data block B1, based on the relative positional relationship between the data block to be cited and other sub-data blocks of the data block B1, the range of the selection region can be re-determined. In this embodiment, since there are no other sub-data blocks in B1 originally, the range of the selection region may remain [0, 1].

[0049] In another specific embodiment, when there are other sub-data blocks such as the data block D2 originally below the data block B1, and the data blocks A2 and B2 corresponding to the data blocks to be cited are dragged behind the data block D2, the values of the left and right intervals of the range of the selection region can be incremented by 1 accordingly and updated to [1, 2]. This is because the node with an index value of 1 below the node B1 (i.e., A2 after dragging), the child node with an index value of "2" (i.e., A2 after dragging), and the data blocks corresponding to the child nodes between the two (if any) are the data blocks to be cited. When the data blocks A2 and B2 corresponding to the data blocks to be cited are dragged in front of the data block corresponding to the data block D2, that is, when the data blocks A2 and B2 are ranked in the top two positions below the data block B1, the range of the selection region may remain [0, 1].

[0050] In a specific embodiment, when the user drags the data blocks cited by the first data block to different other data blocks respectively, the most frequently dragged cited data block is set as the new related data block of the selection area, and the range of the selection area is redetermined based on the relative positional relationship between the cited data block below the new related data block and other sub-data blocks.For example, if all of the sub-data blocks A2, B2, and C2 of the first data block A1 (corresponding to index values 0, 1, and 2 respectively) are all data blocks to be cited, the data block related to the selection area S may be A1, or the range may be "0,2". When the user drags the sub-data blocks A2 and B2 under the second data block B1 and drags the sub-data block C2 under the third data block C1, the data block related to the selection area can be changed from the original first data block A1 to the second data block B1. If there were no original sub-data blocks in the second data block B1, the range of the selection area would be [0,1], which means that the first data block (i.e., the sub-data block A2 after dragging) and the second data block (i.e., the sub-data block B2 after dragging) under the second data block B1 are data blocks to be cited. If there were originally sub-data blocks D4 and E4 in the second data block B1 and the sub-data blocks A2 and B2 to be cited are dragged in front of the sub-data blocks D4 and E4, the range of the selection area remains [0,1], which means that the previous two sub-data blocks under the second data block B1 are data blocks to be cited. When the sub-data blocks A2 and B2 are dragged behind the original sub-data blocks D4 and E4 of the second data block B1, the values of the left and right intervals of the range of the selection area are incremented by 2 accordingly and updated to [2,3], which means that the third and fourth sub-data blocks under the second data block B1 are data blocks to be cited. When the sub-data blocks A2 and B2 are dragged between the sub-data blocks D4 and E4, the values of the left and right intervals of the range of the selection area are incremented by 1 accordingly and updated to [1,2], which can represent that the second and third sub-data blocks under the second data block B1 are data blocks to be cited.

[0051] In some embodiments, when moving the data block to be cited into the first data block by the target operation, the data blocks related to the selection area are maintained as they are, and based on the relative positional relationship between the moved data block to be cited and the other sub-data blocks of the first data block, the range of the selection area is re-determined. In this embodiment, when the user moves the data block to be cited into the first data block, since the parent data block of the data block to be cited is not changed, there is no need to change the data blocks related to the selection range, and it is only necessary to re-determine the range of the selection area based on the position of the data block to be cited after the movement.

[0052] According to the inventor's investigation, the real-time citation function provided by related online document technologies is not complete, and the cited parts are likely to be lost. For example, when the user moves or drags the content cited by other online documents within an online document, the cited content will be lost within the other online documents, which is because when continuous content is dragged, it is often regarded as being deleted from the original text.

[0053] In this regard, according to one or more embodiments of the present disclosure, the position and range of the data block to be cited are described by the data blocks related to the selection area and the range of the selection area. When a target operation is performed on the data blocks related to the selection area, based on the target operation, the data blocks and / or the range related to the selection area are re-determined, and thereby, by synchronously updating the data blocks and / or the range related to the selection area, the citation relationship between the data block and the citation document is updated, and synchronous update of the data block to be cited can be realized.

[0054] In some embodiments, the target operation includes a first operation instruction, or both a first operation instruction and a second operation instruction. The first operation instruction is to edit a first data block, the second operation instruction is to edit another data block other than the first data block, and the first operation instruction is executed before the second operation instruction.

[0055] Exemplarily, the first operation instruction deletes at least one sub - data block of the first data block, and the second operation instruction inserts at least one sub - data block into another data block other than the first data block.

[0056] In one specific embodiment, the target operation includes a drag operation used to drag one or more sub - data blocks from below the first data block to another data block other than the first data block. By means of this drag operation, one or more sub - data blocks can be deleted from the first data block and inserted below another data block.

[0057] In some embodiments, step S140 includes the following steps. Step A10: Determine an initial update range of the selection area based on the first operation instruction. Step A21: Determine that the initial update range of the selection area is empty based on the first operation instruction, and when it is determined to change from the parent data block of the referenced data block deleted from below the first data block to another data block other than the first data block, use the parent data block that contains the most referenced data blocks deleted from the first data block as the new related data block of the selection area, and determine the final range of the selection area based on the second operation instruction for the new related data block.

[0058] In this embodiment, when it is determined based on the first operation instruction that the initial update range of the selection area is empty, the first operation instruction means deleting all of the data blocks of the reference target under the first data block. When it is determined that the parent data block of the data block of the reference target deleted from below the first data block is further changed to another data block other than the first data block, it indicates that the deleted data block of the reference target below the first data block may actually be dragged by the user under another data block. Therefore, by re-determining the parent data block containing the most deleted data blocks of the reference target as the new related data block of the selection area, the final range of the selection area can be determined based on the second operation instruction for the new related data block. Exemplarily, the range of the selection area can be re-determined based on the relative positional relationship between the deleted data block of the reference target under the new related data block and other sub-data blocks of the new related data block.

[0059] In some embodiments, step S140 includes the following steps. Step A22: When it is determined based on the first operation instruction that the initial update range of the selection area is not empty, or when it is determined that the parent data block of the data block of the reference target deleted from below the first data block has not been changed to another data block other than the first data block, use the initial update range as the final range of the selection area.

[0060] In this embodiment, when it is determined based on the first operation instruction that the initial update range of the selection area is not empty, or when it is determined that the parent data block of the referenced data block deleted from below the first data block has not been changed to another data block other than the first data block, the referenced data block below the first data block has not been subjected to a drag operation by the user and may have been directly deleted by the user, and the initial update range of the selection area determined based on the first operation instruction can be directly used as the final range of the selection area.

[0061] Preferably, the "referenced data block deleted from below the first data block" in steps A21 and A22 may further be the "referenced data block that was last continuously deleted from below the first data block". Usually, the operation instructions generated by the user's drag operation are successively related to two data blocks. For example, when the user drags one or more sub-data blocks from data block A to data block B, the drag operation triggers, successively, an instruction to continuously delete one or more sub-data blocks from below data block A and an instruction to continuously insert one or more sub-data blocks below data block B. Therefore, when a drag operation is performed on the sub-data block of data block A, the last operation instruction executed on data block A must be to continuously delete one or more of its sub-data blocks, because the next operation instruction is an instruction to insert a data block into data block B. Therefore, in this embodiment, by determining whether the parent data block of the referenced data block that was last continuously deleted from below the first data block has been changed, it is possible to more accurately determine whether these referenced data blocks have been dragged by the user.

[0062] In a specific embodiment, operation instructions for data blocks can be recorded in chronological order, determine whether the last consecutive one or more operation instructions for the first data block are deletion operation instructions, and determine whether the parent data block of the referenced data block deleted by the deletion operation instruction has been changed to another data block other than the first data block, thereby determining whether the parent data block of the referenced data block that has been continuously deleted from below the first data block has been changed to another data block other than the first data block.

[0063] Referring to FIG. 5, FIG. 5 is a flowchart of a data block control method 500 provided by an embodiment of the present disclosure. The method 500 includes the following steps.

[0064] Step S501: Record the data block on which the target operation is being performed and the child data blocks whose parent data blocks have been changed.

[0065] Step S502: Determine whether the data block on which the target operation is being performed is a data block related to the selection area.

[0066] When the data block on which the target operation is being performed is a data block related to the selection area, execute step S503 of updating the range of the selection area based on the target operation on the data block related to the selection area at present.

[0067] When the data block on which the target operation is being performed is not a data block related to the selection area, there is no need to update the nodes and range related to the selection area, and process the next data block.

[0068] Step S504: Determine whether the update to the range of the selection area in step S503 is based on the first operation instruction, whether the update result is empty, and whether the parent data block of the sub-data block that was last continuously deleted has changed.

[0069] If the results of the determination in step S504 are all "Yes", execute step S505 of selecting the parent data block that contains the most deleted data blocks of the cited target and using it as the new related data block of the selection area.

[0070] After step S505 is completed, step S503 can be executed again. A person skilled in the art can understand that in this embodiment, when step S503 is executed for the first time, the range of the selection area is updated based on the operation instruction of the initial related data block of the selection area, and when step S503 is executed again, the range of the selection area is updated based on the target operation (for example, the second operation instruction) on the new related data block of the selection area.

[0071] After step S503 is executed again, the determination result of step S504 becomes "No", and based on the data block and / or range related to the re-determined selection area, determine the update information of the selection area in step S506, Complete the update of the selection area in step S507, and Execute step S508 of broadcasting the update information of the selection area.

[0072] In some embodiments, the range of the selection region is described by a left endpoint and a right endpoint. Step S140 is a step of adding N to or subtracting N from the values corresponding to the left endpoint and the right endpoint of the selection region when, by the target operation, N data blocks are added or deleted to the left of the left endpoint under the data block currently associated with the selection region, or a step of maintaining the values corresponding to the left endpoint and the right endpoint unchanged when, by the target operation, N data blocks are added or deleted to the right of the right endpoint under the data block currently associated with the selection region, or a step of adding N to or subtracting N from the value corresponding to the right endpoint of the selection region and maintaining the value corresponding to the left endpoint unchanged when, by the target operation, N data blocks are added or deleted under the data block currently associated with the selection region at the left endpoint and the right endpoint, where N is a positive integer.

[0073] This will be exemplarily described below. Suppose that in data block A1, there are sub-data blocks A2, B2, C2, and D2 corresponding to the array of index values {0, 1, 2, 3} respectively, and when data blocks B2 and C2 are the data blocks to be cited, the data block associated with the selection region S is A1, the range of the selection region S is [1, 2]. When the user inserts or deletes N data blocks to the left of the left endpoint of the selection region, that is, before data block B2, the entire selection region moves forward and backward by N positions, that is, N is added to or subtracted from the values of the left endpoint and the right endpoint of the selection region. When the user inserts or deletes N data blocks to the right of the right endpoint of the selection region, that is, after data block C2, the values of the left endpoint and the right endpoint of the selection region remain unchanged. When the user adds or deletes N data blocks at the left endpoint and the right endpoint, the range of the selection region becomes [1, 2±N].

[0074] In some embodiments, step S140 further includes: when adding N data blocks to any endpoint of the selection region in the original text (the original text) by the target operation, maintaining the range of the selection region as it is; or when adding N data blocks to the right endpoint of the selection region in the quoted text by the target operation, adding N to the value corresponding to the right endpoint of the selection region and maintaining the value corresponding to the left endpoint as it is; or when adding N data blocks to the left endpoint of the selection region in the quoted text by the target operation, adding N to the values corresponding to the left and right endpoints of the selection region. The quoted text is an online document that quotes one or more data blocks of the original text (the original text).

[0075] Referring to FIG. 2, when a user adds new data blocks to the left and right endpoints of the selection region of the second online document 220 as a quoted text, the user's intention is often to expand the range of the data blocks to be quoted at the critical point. In particular, users who edit quoted texts are often users who quote data blocks. However, when a user adds new data blocks to the left and right endpoints (i.e., data blocks 11 and 12) of the selection region within the first online document 210 as the original text, since there are usually other data blocks adjacent to the data blocks to be quoted in the original text, at this time, the user's intention is not to add the data blocks to be quoted, but to process other data blocks. In particular, a user who edits the original text may not be a user who quotes data blocks. Therefore, according to one or more embodiments of the present disclosure, when a user inserts a data block at the endpoint of the selection region in the quoted text, the range of the selection region is expanded accordingly, and when a user adds a data block at the endpoint of the selection region in the original text, since the data block is not used as the newly added data block to be quoted, synchronous quote update according to the user's intention can be realized.

[0076] In some embodiments, when the user drags the data block to be cited within the citation text, the nodes and ranges related to the selection area are not changed. That is, the data block to be cited in the original text is maintained as it is. When the user inserts a data block into the citation text or the selection area, the range of the selection area can be changed. That is, the data block to be cited in the original text is also changed accordingly. As shown in FIG. 2, when the user drags data blocks A2 and B2 within the second online document 220, the data blocks A2 and B2 in the first online document 210 do not change. When the user inserts a new data block X2 between data blocks A2 and B2 in the second online document 220, a new data block is also inserted between data blocks A2 and B2 in the first online document 210 accordingly.

[0077] Referring to FIG. 6, FIG. 6 shows a flowchart of a method for determining the range of a selection area based on a target operation provided by an embodiment of the present disclosure. The method 600 includes steps S601 to S610.

[0078] Step S601: Determine whether the target operation on the data block related to the selection area includes a data block deletion command. The data block deletion command is a command to delete a data block from an index value (index). Exemplarily, the data block insertion command may be a command {p: [path, idx], ld: obj}, and the index value may be a value corresponding to "idx" in the command.

[0079] Step S602: Determine whether the index value is less than or equal to the end index value of the selection area.

[0080] If the index value is less than or equal to the end index value of the selection area (i.e., index ≦ end, where end represents the end index value of the selection area), execute step S603 of subtracting 1 from the end index value of the selection area (i.e., end = end - 1).

[0081] When the index value is greater than the end index value of the selection area (i.e., index>end), step S606 of completing the update to the range of the selection area is executed. In this step, since the index value corresponding to the deletion command is greater than the end index value of the selection area, the deletion command of the data block means deleting the data block on the right side of the right boundary of the selection area, and there is no need to update the range of the selection area without affecting the range of the selection area.

[0082] Step S604: Determine whether the index value is less than the start index value of the selection area.

[0083] When the index value is less than the start index value of the selection area (i.e., index<start, where start represents the start index value of the selection area), step S605 of subtracting 1 from the start index value of the selection area (i.e., start=start-1) is executed. In this step, since the index value corresponding to the deletion command is less than the start index value of the selection area, the deletion command of the data block means deleting the data block on the left side of the left boundary of the selection area, which is equivalent to reducing one position from the data block on the left side of the selection area. Therefore, it is necessary to move the entire selection area one position to the left, that is, finally subtract 1 from both the start index value and the end index value of the selection area.

[0084] When the index value is greater than or equal to the start index value of the selection area (i.e., index ≧ start), step S606 for completing the update to the range of the selection area is executed. In this step, since the index value corresponding to the deletion command is greater than or equal to the start index value of the selection range and less than or equal to the end index value of the selection area (i.e., start ≦ index ≦ end), it means that the deletion command of the data block is a deletion command for the data block within the selection area. The start index value of the selection area is not changed, and only 1 is subtracted from the end index value. That is, finally, the range of the selection area becomes smaller.

[0085] An exemplary description will be given below. Assume that in data block A1, there are sub-data blocks A2, B2, C2, and D2 corresponding to the array of index values {0, 1, 2, 3} respectively. When data blocks B2 and C2 are the data blocks to be cited, the data block related to the selection region S is A1, and the range of the selection region S is [1, 2]. That is, the start index value of the selection region is 1 (i.e., start = 1, corresponding to data block B2), and the end index value is 2 (i.e., end = 2, corresponding to data block C2). When the index value of the deletion command for the data block is 0 (i.e., index = 0), that is, when data block A2 is deleted by the deletion command, since index ≦ end and index < start, the entire selection region moves forward, and after moving forward, it is updated to the ranges [0, 1] corresponding to data blocks B2 and C2 respectively. When the index value of the deletion command for the data block is 1 (i.e., index = 1), that is, when the cited data block B2 is deleted by the deletion command, since start ≦ index ≦ end, the range of the selection region is updated to [1, 1] corresponding to data block C2 after moving forward. When the index value of the deletion command for the data block is 2 (i.e., index = 2), that is, when the cited data block C2 is deleted by the deletion command, since start ≦ index ≦ end, the range of the selection region is updated to [1, 1] corresponding to data block B2 which has not moved. When the index value of the deletion command for the data block is 3 (i.e., index = 3), that is, when data block D2 is deleted by the deletion command, since index > end, the range of the selection region does not need to be updated and remains [0, 1].

[0086] Note that the deletion command for the data block in one or more of the foregoing embodiments is to delete one data block. Those skilled in the art can sequentially delete multiple data blocks through multiple deletion commands (for example, execute steps S601 - S606 above in a loop), or delete multiple data blocks by one deletion command. It can be understood that the present disclosure is not limited thereto.

[0087] Referring to FIG. 7, FIG. 7 shows a flowchart of a method for determining the range of a selection area based on a target operation provided by an embodiment of the present disclosure. The method 700 includes steps S701 to S710.

[0088] Step S701: Determine whether the target operation on the data block related to the selection area includes an insertion instruction for the data block. The insertion instruction for the data block is used to insert the data block into an index value (index). Exemplarily, the insertion instruction for the data block may be the instruction {p: [path, idx], li: obj}, and the index value may be the value corresponding to "idx" in the instruction.

[0089] Step S702: Determine whether the range of the selection area is empty. Exemplarily, when the end index value of the selection area is smaller than the start index value, it means that the range of the selection area is empty.

[0090] In step S702, when it is determined that the selection area is empty, step S7021 is executed to determine whether the data block inserted by the insertion instruction is the data block of the citation target dragged from the related data block before the selection area. The related data block before the selection area is the related data block before the selection area is updated. That is, in this step, it is used to determine that the inserted data block is the data block dragged from the previous selection area.

[0091] When it is determined "yes" in step S7021, step S7022 is executed, and the start index value of the selection area is the index value (i.e., start = index), and the end index value of the selection area is the index value (end = index).

[0092] In step S7021, when it is determined that the answer is "no", step S710 of completing the update to the range of the selection area is executed. In this example, when it is determined that the answer is "no", it means that the data block inserted by the current insertion instruction is not the data block of the citation target dragged by the user from the relevant data block before the selection area, and there is no need to update the range of the selection area.

[0093] In step S702, when it is determined that the range of the selection area is not empty, execute step S703 of determining whether the data block inserted by the insertion instruction is the data block of the citation target dragged from the relevant data block before the selection area, or determining whether the insertion instruction of the data block is for the relevant data block in the quoted text.

[0094] The quoted text is an online document that quotes the data block of the citation target. In some embodiments, taking FIG. 2 as an example, the sub-data blocks 11 and 12 below the first data block 10 of the first online document 210 are quoted by the second online document 220, the second online document is the "quoted text" described in step S703, and step S703 is used to determine whether the insertion instruction of the data block is an instruction that acts on the parent data block where the data block of the citation target is located in the second online document.

[0095] When the result of the determination in step S703 is "yes", execute step S704 of setting the left threshold left to be equal to the start index value start of the selection area (i.e., left = start), and setting the right threshold right to the value obtained by adding 1 to the end index threshold start of the selection area (i.e., right = end + 1).

[0096] If the determination result in step S703 is "No", set the left threshold value left to the value obtained by adding 1 to the start index value start of the selection area (i.e., left = start + 1), and set the right threshold value right to be equal to the end index threshold of the selection area (i.e., right = end), and execute step S705.

[0097] Step S706: Determine whether the index value (index) is less than or equal to the right threshold value.

[0098] If the index value is less than or equal to the right threshold value (i.e., index ≤ right), execute step S707 to add 1 to the end index value of the selection area (i.e., end = end + 1).

[0099] If the index value is greater than the right threshold value (i.e., index > right), other steps can be skipped and step S710 to complete the update of the range of the selection area can be directly executed. In this example, since the index value is greater than the right threshold value, the insertion instruction is regarded as inserting a data block to the right of the right endpoint of the selection area, and there is no need to update the range of the selection area.

[0100] Step S708: Determine whether the index value is less than the left threshold value.

[0101] If the index value is less than the left threshold value (i.e., index < left), execute step S709 to add 1 to the start index value of the selection area (i.e., start = start + 1). In this example, when the index value is less than the left threshold value, the insertion instruction is regarded as inserting a data block to the left of the left endpoint of the selection area, and therefore, 1 is added to the values of the final left and right intervals of the selection range accordingly.

[0102] When the index value of the insertion command is greater than or equal to the left threshold value (i.e., index≧left), step S709 of adding 1 to the start index value of the selection area (i.e., start=start+1) is executed. In this step, when the index value is greater than or equal to the left threshold value, the insertion command is considered to insert a data block into the range of the selection area. Therefore, finally, the value of the left section of the selection area remains unchanged, and 1 is added to the value of the right section.

[0103] Step S710: Complete the update of the range of the selection area.

[0104] According to one or more embodiments of the present disclosure, by setting different left and right threshold values for insertion commands of different types of data blocks, the left and right threshold values can represent the range of a "virtual" selection area (the left and right threshold values can correspond to the left and right sections respectively). In the case of an insertion command for a related data block in a citation (or inserting a dragged citation target data block at the endpoint of the selection area), when comparing with the insertion command for the original text, the section range formed by the corresponding left and right threshold values of the former (i.e., [start,end+1]) is expanded in both the left and right directions compared with the section range formed by the left and right threshold values of the latter (i.e., [start,end+1]). In this way, when the user inserts a data block at the endpoint of the selection area of a citation (or inserts a dragged citation target data block at the endpoint of the selection area), it is considered an insertion into the selection area, and accordingly, the range of the selection area can be expanded. When the user adds a data block at the endpoint of the selection area in the original text, since the data block is not used as a newly added citation target data block, synchronous update of the citation target data block according to the user's intention can be realized.

[0105] In some embodiments, step S140 is Step C1: When dragging the data block to be cited, which is below the first data block, so as to be parallel to the first data block by the target operation, a step of creating a new data block as the parent data block of the dragged data block to be cited, wherein the new data block and the parent data block of the first data block have a common parent data block; Step C2: A step of updating the data block related to the selection area to the new data block having the same parent data block as the first data block; Step C3: A step of updating the range of the selection area according to the number of data blocks to be cited dragged below the new data block by the target operation. The method includes the above steps.

[0106] Referring to FIG. 8, the user can make the sub-data blocks A2 and B2 below the data block A1 parallel to the data block A1 by a tiered operation (column operation), so that the data blocks A2 and B2 and the data block A1 belong to two different columns. According to one or more embodiments of the present disclosure, the data block 41 can be created as the parent data block of the data blocks A2 and B2 after tiering, and the parent data block 42 of the data blocks 41 and A1 has a common parent data block 40. When the sub-data blocks A2 and B2 are the data blocks to be cited, the data blocks related to the selection area can be updated from the data block A1 to the data block 41, and the range of the selection area can be updated according to the number of data blocks to be cited below the data block 41. In this example, the range of the selection area is originally [0, 1], but after the selection area is updated, the range remains [0, 1]. In a specific embodiment, the user can drag the data blocks A2 and B2 to the left or right side of their parent data block to realize tiering the dragged data block and its original parent data block into two left and right columns.

[0107] According to one or more embodiments of the present disclosure, Step B1: determining a data block to be cited in a first document, wherein there is a citation relationship between the data block to be cited and a second document; Step B2: changing the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; Step B3: maintaining the citation relationship between the second document and the data block to be cited in response to the position of the data block to be cited in the first document being changed, to provide a method for controlling a data block.

[0108] In this embodiment, the citation relationship between the data block to be cited and the second document is a relationship in which the second document cites the data block to be cited.

[0109] In some embodiments, the data block to be cited is one data block or a group of consecutive data blocks.

[0110] In some embodiments, the target operation includes a drag operation for moving a data block. Exemplarily, by the drag operation, its sub-data block can be moved within a data block or between data blocks. For example, by the drag operation, one or more sub-data blocks can be deleted from a first data block and inserted under another data block.

[0111] According to the inventor's investigation, the real-time citation function provided by related online document technologies is not perfect, and the cited parts are likely to be lost. For example, when a user moves or drags the content cited by another online document in an online document, the cited content is often lost in the other online document. This is because when continuous content is dragged, it is often considered to be deleted from the original text.

[0112] In this regard, according to one or more embodiments of the present disclosure, by a target operation, the position of the data block to be cited is changed, and the citation relationship between the second document and the data block to be cited is maintained, thereby preventing the citation relationship between the data block and the document from being interrupted due to the movement of the data block.

[0113] In some embodiments, the position and range of the data block to be cited are described by the data block related to the selection area and the range of the selection area, and the data block related to the selection area is the parent data block of the data block to be cited.

[0114] In some embodiments, step B3 re-determines the data block and / or range related to the selection area based on the target operation.

[0115] For the specific embodiments of re-determining the data block and / or range related to the selection area based on the setting method of the selection area or the target operation, reference may be made to the above description, and it will not be repeated here.

[0116] Accordingly, as shown in FIG. 9, according to one embodiment of the present disclosure, Step S920: A step of receiving update information of a selection area transmitted by a server, wherein the update information of the selection area is determined by the server in response to a target operation being performed on a first data block, to determine whether the first data block is a data block related to the selection area, and when it is determined that the first data block is a data block related to the selection area, based on the target operation, a process of re-determining the data block and / or range related to the selection area, and based on the re-determined data block and / or range related to the selection area, a process of determining update information of the selection area, and the selection area is organized to describe the position and range of the data block to be cited by the data block related to the selection area and the range of the selection area, and the data block to be cited is a data block cited by at least one online document, step S940: A method for controlling a data block is provided, including a step of updating the selection area based on the update information of the selection area.

[0117] Referring to FIG. 10, according to an embodiment of the present disclosure, a method for controlling a data block including steps S1001 to S1003 is provided.

[0118] Step S1001: Determine whether a data block related to the selection area has been changed.

[0119] When a data block related to the selection area has been changed, step S1002 of updating the selection area is executed based on the update information of the selection area transmitted by the server. Exemplarily, the update information of the selection area can be retrieved from the server and the selection area can be updated based on the update information of the selection area.

[0120] When the data block related to the selection area has not been changed, based on the target operation on the related data block, re-determine the range of the selection area, and based on the re-determined range of the selection area, execute step S1003 of updating the selection area.

[0121] In some embodiments, when the result of the determination in step S1003 is empty, that is, when it is determined that the range of the selection area is empty, the client executes step S1002 of directly extracting the update information of the selection area of the server based on the target operation and updating the selection area.

[0122] According to one or more embodiments of the present disclosure, when the target operation does not change the data block related to the selection area, it means that the target operation is only an edit within the related data block, such as insertion or deletion of a sub-data block. At this time, the client does not need to completely depend on the update information of the selection area pushed from the server and can update the range of the selection area, so the timeliness and consistency of synchronous citation can be improved.

[0123] Note that for the embodiments of the client, since they basically correspond to the embodiments of the server, for the related details, only refer to the partial description of the method embodiments, and will not be repeated here.

[0124] Accordingly, as shown in FIG. 11, according to an embodiment of the present disclosure, An apparatus 1100 for controlling a data block, the apparatus 1100 includes A determination unit 1120 that determines whether there is a citation relationship between the first data block and the second document in response to a target operation being executed on the first data block of the first document, where the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block, the determination unit 1120; In response to determining that there is a citation relationship between the first data block and the second document, an update unit 1140 that updates the citation relationship between at least one data block in the first document and the second document based on the target operation, Provided is an apparatus 1100 for controlling a data block.

[0125] In some embodiments, the apparatus 1100 An information generation unit that determines update information for a selection area based on a data block and / or range related to the re-determined selection area, An information transmission unit that transmits the update information for the selection area to the client so that the client can update the selection area based on the update information for the selection area.

[0126] In some embodiments, An apparatus for controlling a data block, the apparatus A determination unit for a data block to be cited that determines a data block to be cited in a first document, wherein there is a citation relationship between the data block to be cited and a second document, A position change unit that changes the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited, A citation unit that maintains a citation relationship between the second document and the data block to be cited in response to changing the position of the data block to be cited in the first document, and provides an apparatus for controlling a data block.

[0127] Accordingly, as shown in FIG. 12, according to an embodiment of the present disclosure, An apparatus 1200 for controlling a data block, the apparatus 1200 An information receiving unit 1220 that receives update information for a selection area transmitted by a server, the update information for the selection area being provided by the server, In response to a target operation being performed on the first data block, a process of determining whether the first data block is a data block related to a selection area; When it is determined that the first data block is a data block related to the selection area, a process of re-determining the data block and / or range related to the selection area based on the target operation; A process of determining update information of the selection area based on the data block and / or range related to the re-determined selection area; Based on the determined information, the selection area is configured to describe the position and range of the data block to be cited by the data block related to the selection area and the range of the selection area, and the data block to be cited is a data block cited by at least one online document, an information receiving unit 1220; A selection area update unit 1240 that updates the selection area based on the update information of the selection area. The apparatus 1200 for controlling a data block is provided. Provide an apparatus 1200 for controlling a data block.

[0128] Regarding the embodiments of the apparatus, since they basically correspond to the embodiments of the method, for related details, only refer to the partial description of the embodiments of the method. The embodiments of the apparatus described above are merely illustrative, and the modules described as separate modules may or may not be separate. To achieve the object of the solution means of this embodiment, part or all of the modules can be selected according to actual needs. A person skilled in the art can understand and implement this method without creative efforts.

[0129] Accordingly, according to one or more embodiments of the present disclosure, a system is provided that includes a server having a control device 1100 for data blocks and at least one terminal having a control device 1200 for data blocks. The terminal includes, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (tablets), PMPs (Portable Multimedia Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. The terminal is connected to the server 402 via a local area network, a wide area network, or the Internet, and the terminal and the server are connected by a wired connection or a wireless connection. Wired connections include, but are not limited to, PoE, coaxial cables, optical fibers, and USB data connections.

[0130] Note that for embodiments of the system, since they basically correspond to embodiments of the method, for related details, only refer to the partial description of the embodiments of the method.

[0131] Accordingly, according to one or more embodiments of the present disclosure, an electronic device is provided that includes at least one memory and at least one processor, the memory stores program code, and the processor calls the program code stored in the memory to cause the electronic device to execute the method for controlling data blocks provided by one or more embodiments of the present disclosure.

[0132] Accordingly, according to one or more embodiments of the present disclosure, a non-transitory computer storage medium storing program code is provided, and the program code is executed by a computer device to cause the computer device to execute the method for controlling data blocks provided by one or more embodiments of the present disclosure.

[0133] Referring to FIG. 13 below, a schematic structural diagram of an electronic device (e.g., a terminal device or a server) 1300 suitable for implementing the embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (tablets), PMPs (Portable Multimedia Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. The electronic device shown in FIG. 13 is merely an example and does not limit the functions and usage scope of the embodiments of the present disclosure.

[0134] As shown in FIG. 13, the electronic device 1300 can include a processing device (e.g., a central processing unit, a graphics processor, etc.) 1301, and can execute various appropriate operations and processes according to a program stored in the read-only memory (ROM) 1302 or a program loaded from the storage device 1308 into the random access memory (RAM) 1303. Various programs and data necessary for the operation of the electronic device 1300 are also stored in the RAM 1303. The processing device 1301, the ROM 1302, and the RAM 1303 are interconnected via a bus 1304. An editing / output (I / O) interface 1305 is also connected to the bus 1304.

[0135] Generally, the following devices can be connected to the I / O interface 1305. For example, input devices 1306 such as touchscreens, touch pads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc., output devices 1307 such as liquid crystal displays (LCDs), speakers, vibrators, etc., storage devices 1308 such as magnetic tapes, hard disks, etc., and communication devices 1309. The communication device 1309 can enable the electronic device 1300 to communicate with other devices wirelessly or wiredly to exchange data. FIG. 13 shows the electronic device 1300 equipped with various devices, but it should be understood that it is not necessary to implement or include all the illustrated devices. Instead, more or fewer devices can be implemented or included.

[0136] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product including a computer program incorporated in a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication device 1309, or installed from the storage device 1308, or from the ROM 1302. When the computer program is executed by the processing device 1301, the above-described functions defined by the method of the embodiment of the present disclosure are executed.

[0137] In addition, the computer-readable medium described above in the present disclosure may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium include, but are not limited to, an electrical connection with one or more wires, a portable computer disk, a hard drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable medium may be any tangible medium that includes or stores a program, and the program can be used by an instruction execution system, apparatus, or device, or a combination thereof. In the present disclosure, the computer-readable signal medium may include a data signal propagated within a baseband or propagated as part of a carrier wave and having computer-readable program code incorporated therein. The data signal propagated in this way can take many forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transmit a program used by an instruction execution system, apparatus, or device, or a combination thereof. The program code incorporated on the computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wires, optical cables, RF (radio frequency), or any suitable combination thereof.

[0138] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol, such as HTTP (Hyper Text Transfer Protocol), and can be connected to digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and end-to-end networks (e.g., ad hoc end-to-end networks), as well as currently known networks or networks developed in the future.

[0139] The computer-readable medium may be included in the electronic device or may exist independently without being incorporated into the electronic device.

[0140] One or more programs are incorporated into the computer-readable medium described above. When the one or more programs described above are executed by the electronic device, the method of the present disclosure described above is executed by the electronic device.

[0141] The computer program code for carrying out the operations of this disclosure can be written in one or more programming languages including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as the "C" language or similar programming languages, or combinations thereof. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially executed on the user's computer and partially executed on a remote computer, or executed entirely on a remote computer or server. When a remote computer is involved, the remote computer can be connected to the user's computer via any type of network such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., an Internet connection via an Internet service provider).

[0142] Flowcharts and block diagrams in the drawings illustrate the possible architectures, functionality, and operations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a portion of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions shown within the blocks may be executed in an order different from that shown in the figures. For example, two consecutive blocks shown may actually be executed substantially in parallel, or in the reverse order depending on the relevant functions. Each block of the block diagram and / or flowchart diagram, and combinations of blocks in the block diagram and / or flowchart diagram, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented using a combination of special hardware and computer instructions.

[0143] The units according to the embodiments of the present disclosure can be implemented by software or hardware. The name of a unit does not, in some cases, limit the unit itself.

[0144] The functions described above in this specification can be executed, at least in part, by one or more hardware logic components. For example, but not limited to, typical types of available hardware logic components include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0145] In the context of the present disclosure, a machine-readable medium may be a tangible medium that includes or can store a program used by or in combination with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of a machine-readable storage medium include one or more wire-based electrical connections, laptop disks, hard drives, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the above.

[0146] According to one or more embodiments of the present disclosure, a method for controlling a data block, the method comprising: determining whether there is a citation relationship between the first data block of the first document and the second document in response to a target operation being performed on the first data block of the first document, wherein the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; and updating the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block and the second document. A method for controlling a data block is provided.

[0147] According to one or more embodiments of the present disclosure, the step of updating the citation relationship between at least one data block in the first document and the second document based on the target operation includes the step of updating the citation relationship between the first data block and the second document based on the target operation. When, due to the target operation, all or part of the most cited data blocks that are below the first data block and are cited by the second document are moved below the second data block in the first document, the step of updating the citation relationship between at least one data block in the first document and the second document based on the target operation further includes the step of determining the citation relationship between the second data block and the second document based on the target operation.

[0148] According to one or more embodiments of the present disclosure, the step of updating the citation relationship between the first data block and the second document based on the target operation includes updating the citation relationship between the first data block and the second document based on the relative positional relationship between the data block targeted by the target operation and other sub-data blocks of the first data block in the first data block.

[0149] According to one or more embodiments of the present disclosure, the step of updating the citation relationship between the second data block and the second document based on the target operation includes determining the citation relationship between the second data block and the second document based on the relative positional relationship between the data block to be cited that has been moved below the second data block by the target operation and other sub-data blocks of the second data block.

[0150] According to one or more embodiments of the present disclosure, the step of determining whether there is a citation relationship between the first data block and the second document includes determining whether the first data block is a data block related to the selection area. In response to determining that the first data block is a data block related to the selection area, based on the target operation, the step of determining the citation relationship between at least one data block in the first document and the second document includes re-determining the data block and / or range related to the selection area based on the target operation. The selection area is configured to describe the position and range of the data block to be cited by the data block related to the selection area and the range of the selection area. The data block to be cited is a data block cited by at least one online document.

[0151] According to one or more embodiments of the present disclosure, the step of re-determining the data block related to the selection area based on the target operation includes changing the data block related to the selection area from the first data block to the second data block when all or most of the data blocks to be cited under the first data block are moved below the second data block by the target operation.

[0152] According to one or more embodiments of the present disclosure, based on the target operation, the step of re-determining the range of the selection area includes re-determining the range of the selection area based on the relative positional relationship between the data block to be cited that has been moved under the second data block by the target operation and other sub-data blocks of the second data block.

[0153] According to one or more embodiments of the present disclosure, based on the target operation, the step of re-determining the data block and / or range related to the selection area includes maintaining the data block related to the selection area as it is when moving the data block to be cited into the first data block by the target operation, and re-determining the range of the selection area based on the relative positional relationship between the moved data block to be cited and other sub-data blocks of the first data block.

[0154] According to one or more embodiments of the present disclosure, the target operation is an operation that triggers a first operation instruction or triggers a first operation instruction and a second operation instruction. The first operation instruction is an operation instruction for editing a first data block, and the second operation instruction is an operation instruction for editing a data block other than the first data block.

[0155] According to one or more embodiments of the present disclosure, based on the target operation, the step of re-determining the data block and / or range related to the selection area includes: determining an initial update range of the selection area based on the first operation instruction; determining that the initial update range of the selection area is empty based on the first operation instruction, and determining that the parent data block of the referenced data block deleted from below the first data block is changed to another data block other than the first data block, when the parent data block containing the most referenced data blocks deleted from the first data block is used as the new related data block of the selection area, and determining a final range of the selection area based on the second operation instruction for the new related data block.

[0156] According to one or more embodiments of the present disclosure, based on the target operation, the step of re-determining the data block and / or range related to the selection area includes using the initial update range as the final range of the selection area when it is determined based on the first operation instruction that the initial update range of the selection area is not empty, or when it is determined that the parent data block of the referenced data block deleted from below the first data block is not changed to another data block other than the first data block.

[0157] According to one or more embodiments of the present disclosure, the first operation instruction is an operation instruction for deleting at least one sub-data block of the first data block, and the second operation instruction is an operation instruction for inserting at least one sub-data block into another data block other than the first data block.

[0158] According to one or more embodiments of the present disclosure, the target operation includes a drag operation on a data block.

[0159] According to one or more embodiments of the present disclosure, the range of the selection area has a left endpoint and a right endpoint. Based on the target operation, the step of redetermining the range of the selection area includes: when N data blocks are added or deleted to the left of the left endpoint of the selection area by the target operation, adding N to or subtracting N from the values corresponding to the left endpoint and the right endpoint of the selection area; or when N data blocks are added or deleted to the right of the right endpoint of the selection area by the target operation, keeping the values corresponding to the left endpoint and the right endpoint unchanged; or when N data blocks are added or deleted to the left endpoint and the right endpoint of the selection area by the target operation, adding N to or subtracting N from the value corresponding to the right endpoint of the selection area and keeping the value corresponding to the left endpoint unchanged, where N is a positive integer.

[0160] According to one or more embodiments of the present disclosure, the step of redetermining the range of the selection area based on the target operation includes: when N data blocks are added to any endpoint of the selection area in the original text (original text) by the target operation, keeping the range of the selection area unchanged; or when N data blocks are added to the right endpoint of the selection area in the quoted text by the target operation, adding N to the value corresponding to the right endpoint of the selection area and keeping the value corresponding to the left endpoint unchanged; or when N data blocks are added to the left endpoint of the selection area in the quoted text by the target operation, adding N to the values corresponding to the left endpoint and the right endpoint of the selection area, where the quoted text is an online document that quotes one or more data blocks of the original text (original text).

[0161] According to one or more embodiments of the present disclosure, based on the target operation, the step of re-determining the data block and / or range related to the selection area includes: when dragging the data block to be cited under the first data block so as to be parallel to the first data block by the target operation, creating a new data block as the parent data block of the dragged data block to be cited; updating the data block related to the selection area to the new data block having the same parent data block as the first data block; and updating the range of the selection area based on the number of data blocks to be cited dragged under the parent data block by the target operation.

[0162] According to one or more embodiments of the present disclosure, the target operation is a stacking operation (column operation).

[0163] According to one or more embodiments of the present disclosure, the method further includes: determining update information of the selection area based on the data block and / or range related to the re-determined selection area; and sending the update information of the selection area to the client so that the client can update the selection area based on the update information of the selection area.

[0164] According to one or more embodiments of the present disclosure, provided is a method for controlling a data block, the method including: determining a data block to be cited in a first document, where there is a citation relationship between the data block to be cited and a second document; changing the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; and maintaining the citation relationship between the second document and the data block to be cited in response to changing the position of the data block to be cited in the first document.

[0165] According to one or more embodiments of the present disclosure, the position and scope of the data block to be cited are described by the data block related to the selection area and the scope of the selection area, and the data block related to the selection area is the parent data block of the data block to be cited.

[0166] According to one or more embodiments of the present disclosure, the step of maintaining the citation relationship between the second document and the data block to be cited includes re-determining the data block and / or scope related to the selection area based on the target operation to maintain the citation relationship between the second document and the data block to be cited.

[0167] According to one or more embodiments of the present disclosure, the target operation includes a drag operation.

[0168] According to one or more embodiments of the present disclosure, a method for controlling a data block applied to a client, the method comprising: receiving update information of a selection area transmitted by a server, the update information of the selection area being determined by the server in response to a target operation being performed on a first data block, determining whether the first data block is a data block related to the selection area, and when it is determined that the first data block is a data block related to the selection area, re-determining the data block and / or scope related to the selection area based on the target operation, determining update information of the selection area based on the re-determined data block and / or scope related to the selection area, the selection area being configured to describe the position and scope of the data block to be cited by the data block related to the selection area and the scope of the selection area, the data block to be cited being a data block cited by at least one online document, and updating the selection area based on the update information of the selection area. A method for controlling a data block is provided.

[0169] According to one or more embodiments of the present disclosure, before updating the selection area based on the update information of the selection area, the method further includes determining whether a node related to the selection area has been changed; when the node related to the selection area has not been changed, redetermining the range of the selection area based on a target operation on the related node, and updating the selection area based on the redetermined range of the selection area; and when the node related to the selection area has been changed, executing a step of updating the selection area based on the update information of the selection area.

[0170] According to one or more embodiments of the present disclosure, the method further includes executing a step of updating the selection area based on the update information of the selection area when the range of the related data block redetermined based on the target operation is empty.

[0171] According to one or more embodiments of the present disclosure, provided is an apparatus for controlling a data block, including: a determination unit configured to determine whether there is a citation relationship between a first data block of a first document and a second document in response to a target operation being performed on the first data block of the first document, where the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; and an update unit configured to update the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block of the first document and the second document.

[0172] According to one or more embodiments of the present disclosure, there is provided an apparatus for controlling a data block, the apparatus comprising: a determination unit for determining a data block to be cited in a first document, wherein there is a citation relationship between the data block to be cited and a second document; a position change unit for changing the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; and a citation unit for maintaining the citation relationship between the second document and the data block to be cited in response to the position of the data block to be cited in the first document being changed.

[0173] According to one or more embodiments of the present disclosure, there is provided an apparatus for controlling a data block, the apparatus comprising: an information receiving unit for receiving update information of a selected area transmitted by a server, wherein the update information of the selected area is determined based on a process in which the server determines whether the first data block is a data block related to the selected area in response to a target operation being performed on the first data block, a process of re-determining a data block and / or range related to the selected area based on the target operation when it is determined that the first data block is a data block related to the selected area, and a process of determining update information of the selected area based on the re-determined data block and / or range related to the selected area, the selected area being configured to describe the position and range of the data block to be cited by the data block related to the selected area and the range of the selected area, and the data block to be cited being a data block cited by at least one online document; and a selected area update unit for updating the selected area based on the update information of the selected area.

[0174] According to one or more embodiments of the present disclosure, there is provided an electronic device, including at least one memory storing program code, and at least one processor that calls and executes the program code stored in the memory to cause the electronic device to execute a method for controlling a data block provided by one or more embodiments of the present disclosure.

[0175] According to one or more embodiments of the present disclosure, there is provided a non-transitory computer storage medium storing program code, wherein when the program code is executed by a computer device, the computer device is caused to execute a method for controlling a data block provided by one or more embodiments of the present disclosure.

[0176] The above description is only an illustration of more preferred embodiments of the present disclosure and the applicable technical principles. Those skilled in the art should understand that the disclosure scope of the present disclosure is not limited to the technical means consisting of specific combinations of the above technical features, and other technical means formed by any combination of the above technical features or their equivalent features without departing from the concepts disclosed above should also be covered. For example, technical means formed by replacing the above features with technical features (but not limited thereto) disclosed in the present disclosure having similar functions are also covered.

[0177] Also, although various operations are shown in a particular order, this should not be understood as requiring that these operations be performed in the particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above description, these should not be construed as limiting the scope of the present disclosure. Specific features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination.

[0178] Although this subject matter has been described in language specific to structural features and / or logical operations of a method, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described above. Rather, the above specific features and operations are merely exemplary forms for implementing the claims.

Claims

1. A method for controlling a data block, the method comprising: responding to a target operation being performed on a first data block of a first document, determining whether there is a citation relationship between the first data block and a second document, wherein the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; responding to determining that there is a citation relationship between the first data block and the second document, updating the citation relationship between at least one data block in the first document and the second document based on the target operation. A method.

2. The step of updating the citation relationship between at least one data block in the first document and the second document based on the target operation comprises: including the step of updating the citation relationship between the first data block and the second document based on the target operation; when, due to the target operation, all or a part of the most cited data blocks among the data blocks cited by the second document and located under the first data block are moved under a second data block in the first document, the step of updating the citation relationship between at least one data block in the first document and the second document based on the target operation further comprises determining the citation relationship between the second data block and the second document based on the target operation. The method according to claim 1.

3. The step of updating the citation relationship between the first data block and the second document based on the target operation comprises: including the step of updating the citation relationship between the first data block and the second document based on the relative positional relationship between the data block targeted by the target operation and other sub-data blocks of the first data block in the first data block. The method according to claim 2.

4. The step of updating the citation relationship between the second data block and the second document based on the target operation comprises: Determining a citation relationship between the second data block and the second document based on a relative positional relationship between the data block of interest that has been moved under the second data block by the target operation and other sub-data blocks of the second data block, the method according to claim 2.

5. The step of determining whether there is a citation relationship between the first data block and the second document includes the step of determining whether the first data block is a data block related to the selection area, Based on the target operation, the step of determining a citation relationship between at least one data block in the first document and the second document includes, in response to determining that the first data block is a data block related to the selection area, re-determining a data block and / or range related to the selection area based on the target operation, The selection area is organized to describe the position and range of the data block of interest by the data block related to the selection area and the range of the selection area, and the data block of interest is a data block cited by at least one online document, the method according to any one of claims 1 to 4.

6. The step of re-determining the data block related to the selection area based on the target operation is When all or most of the data blocks of interest that are under the first data block are moved under the second data block by the target operation, changing the data block related to the selection area from the first data block to the second data block, the method according to claim 5.

7. The step of re-determining the range of the selection area based on the target operation is Re-determining the range of the selection area based on a relative positional relationship between the data block of interest that has been moved under the second data block by the target operation and other sub-data blocks of the second data block, the method according to claim 6.

8. The step of re-determining a data block and / or range related to the selection area based on the target operation is When moving the data block to be cited into the first data block by the target operation, maintaining the data blocks related to the selection area as they are; re - determining the range of the selection area based on the relative positional relationship between the moved data block to be cited and other sub - data blocks of the first data block, the method according to claim 5. **Claim 9** The target operation is an operation that triggers a first operation instruction or triggers a first operation instruction and a second operation instruction, The first operation instruction is an operation instruction for editing the first data block, The second operation instruction is an operation instruction for editing a data block other than the first data block, the method according to claim 5. **Claim 10** Based on the target operation, the step of re - determining the data blocks and / or range related to the selection area includes: determining an initial update range of the selection area based on the first operation instruction; determining that the initial update range of the selection area is empty based on the first operation instruction, and determining that the parent data block of the data block to be cited deleted from below the first data block is changed to a data block other than the first data block. In this case, taking the parent data block containing the most data blocks to be cited deleted from the first data block as the new related data block of the selection area, and determining the final range of the selection area based on the second operation instruction for the new related data block, the method according to claim 9. **Claim 11** Based on the target operation, the step of re - determining the data blocks and / or range related to the selection area includes: determining that the initial update range of the selection area is not empty based on the first operation instruction, or when determining that the parent data block of the data block to be cited deleted from below the first data block has not been changed to a data block other than the first data block, using the initial update range as the final range of the selection area, the method according to claim 10. **Claim 12** The first operation command is an operation command for deleting at least one sub-data block of the first data block, and the second operation command is an operation command for inserting at least one sub-data block into another data block other than the first data block. The method according to claim 9.

13. The target operation includes a drag operation on a data block. The method according to claim 9.

14. The range of the selection area has a left end point and a right end point. Based on the target operation, the step of re-determining the range of the selection area is as follows: When adding or deleting N data blocks to the left of the left end point of the selection area by the target operation, adding N or subtracting N from the values corresponding to the left end point and the right end point of the selection area, or When adding or deleting N data blocks to the right of the right end point of the selection area by the target operation, keeping the values corresponding to the left end point and the right end point unchanged, or When adding or deleting N data blocks to the left end point and the right end point of the selection area by the target operation, adding N or subtracting N from the value corresponding to the right end point of the selection area and keeping the value corresponding to the left end point unchanged. This step is included. N is a positive integer. The method according to claim 5.

15. Based on the target operation, the step of re-determining the range of the selection area is as follows: When adding N data blocks to any end point of the selection area in the original text by the target operation, keeping the range of the selection area unchanged, or When adding N data blocks to the right end point of the selection area in the cited text by the target operation, adding N to the value corresponding to the right end point of the selection area and keeping the value corresponding to the left end point unchanged, or When adding N data blocks to the left end point of the selection area in the cited text by the target operation, adding N to the values corresponding to the left end point and the right end point of the selection area. This step is included. The cited text is an online document that cites one or more data blocks of the original text. The method according to claim 14.

16. Based on the target operation, the step of re-determining the data block and / or range related to the selection area is as follows: When dragging the data block to be cited, which is below the first data block, so as to be parallel to the first data block, by the target operation, the step of creating a new data block as the parent data block of the data block to be cited being dragged; The step of updating the data block related to the selection area to the new data block having the same parent data block as the first data block; The method according to claim 5, further comprising the step of updating the range of the selection area according to the number of data blocks to be cited dragged below the new data block by the target operation.

17. The method according to claim 16, wherein the target operation includes a tiered operation.

18. The step of determining update information of the selection area based on the data block and / or range related to the re-determined selection area; The method according to claim 5, further comprising the step of transmitting the update information of the selection area to the client so that the client can update the selection area based on the update information of the selection area.

19. A method for controlling a data block, the method comprising: The step of determining a data block to be cited in a first document, wherein there is a citation relationship between the data block to be cited and a second document; The step of changing the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; Including the step of maintaining the citation relationship between the second document and the data block to be cited in response to changing the position of the data block to be cited in the first document. Method.

20. Explaining the position and range of the data block to be cited by the data block related to the selection area and the range of the selection area, The method according to claim 19, wherein the data block related to the selection area is the parent data block of the data block to be cited.

21. The step of maintaining the citation relationship between the second document and the data block to be cited is The method according to claim 20, comprising the step of re-determining a data block and / or range related to the selection area based on the target operation, so as to maintain the citation relationship between the second document and the cited data block.

22. The method according to claim 19, wherein the target operation includes a drag operation.

23. A method for controlling a data block applied to a client, the method comprising: Receiving update information of a selection area sent by a server, wherein the update information of the selection area is determined by the server: In response to a target operation being performed on a first data block, a process of determining whether the first data block is a data block related to the selection area; When it is determined that the first data block is a data block related to the selection area, a process of re-determining a data block and / or range related to the selection area based on the target operation; A process of determining update information of the selection area based on the re-determined data block and / or range related to the selection area; Based on the determined information, the selection area is organized to describe the position and range of the cited data block by the data block related to the selection area and the range of the selection area, and the cited data block is a data block cited by at least one online document; Updating the selection area based on the update information of the selection area. Method.

24. Before updating the selection area based on the update information of the selection area, the method further comprises: Determining whether a node related to the selection area has been changed; When the node related to the selection area has not been changed, re-determining the range of the selection area based on the target operation on the related node, and updating the selection area based on the re-determined range of the selection area; When the node related to the selection area has been changed, executing the step of updating the selection area based on the update information of the selection area. The method according to claim 23.

25. The method according to claim 24, further comprising the step of executing a step of updating the selection area based on the update information of the selection area when the range of the related data block re-determined based on the target operation is empty.

26. An apparatus for controlling a data block, the apparatus comprising: a determination unit that determines whether there is a citation relationship between the first data block and a second document in response to a target operation being performed on the first data block of the first document, wherein the target operation is an operation of inserting, deleting, moving, or replacing a sub-data block in the data block; an update unit that updates the citation relationship between at least one data block in the first document and the second document based on the target operation in response to determining that there is a citation relationship between the first data block and the second document. Apparatus.

27. An apparatus for controlling a data block, the apparatus comprising: a determination unit for determining a data block to be cited in a first document, wherein there is a citation relationship between the data block to be cited and a second document; a position change unit that changes the position of the data block to be cited in the first document in response to a target operation being performed on the data block to be cited; a citation unit that maintains the citation relationship between the second document and the data block to be cited in response to changing the position of the data block to be cited in the first document. Apparatus.

28. An apparatus for controlling a data block, the apparatus comprising: an information receiving unit that receives update information of a selection area transmitted by a server, wherein the update information of the selection area is obtained by the server in response to a target operation being performed on a first data block, a process of determining whether the first data block is a data block related to the selection area; when it is determined that the first data block is a data block related to the selection area, a process of re-determining the data block and / or range related to the selection area based on the target operation; A process of determining update information for a selection area based on a data block and / or range related to the re-determined selection area; An information receiving unit that is determined based on the above, wherein the selection area is organized to describe the positions and ranges of data blocks to be cited by the data blocks related to the selection area and the range of the selection area, and the data blocks to be cited are data blocks cited by at least one online document; A selection area update unit that updates the selection area based on the update information of the selection area. Device.

29. A control system, wherein the control system A server having the device according to claim 26; A control system including at least one terminal having the device according to claim 28.

30. An electronic device, wherein the electronic device Includes at least one memory and at least one processor; The memory stores program code; The processor calls and executes the program code stored in the memory to cause the electronic device to execute the method according to any one of claims 1 to 25.

31. A non-transitory computer storage medium, Program code is stored in the non-transitory computer storage medium; When the program code is executed by a computer device, the computer device is caused to execute the method according to any one of claims 1 to 25.

Citation Information

Patent Citations

  • Reference document updating method and device, electronic equipment and storage medium

    CN111858518A

  • Document preparing device

    JP1990056669A

  • Document page managing device

    JP1994119222A

  • Document input editing system

    JP2007328471A

  • Document management device, document management method, and program

    JP2009223717A