CN113239004A - 一种笔记同步方法及装置 - Google Patents
一种笔记同步方法及装置 Download PDFInfo
- Publication number
- CN113239004A CN113239004A CN202110585181.9A CN202110585181A CN113239004A CN 113239004 A CN113239004 A CN 113239004A CN 202110585181 A CN202110585181 A CN 202110585181A CN 113239004 A CN113239004 A CN 113239004A
- Authority
- CN
- China
- Prior art keywords
- stroke
- note
- server
- local
- index data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Abstract
本申请公开了一种笔记同步方法及装置,包括:当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,将其和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新以及是否包含新增笔画,并将服务器中的笔画信息同步至本地,其中,索引数据用于对笔画进行索引,笔画信息用于描述笔画的属性;若包含新增笔画,则将服务器中的新增笔画的点文件同步至本地,点文件用于描述组成笔画的点。本申请根据索引数据判断是否存在更新以及是否存在新增,再进一步根据判断结果针对更新部分以及新增部分进行下载,而非直接下载笔记的所有数据,减少了同步所花费的时间,提高了同步效率,改善了用户对笔记的使用体验。
Description
技术领域
本申请涉及电子笔记技术领域,更具体的说,是涉及一种笔记同步方法及装置。
背景技术
手写笔记(以下简称笔记)是一种手写记事备忘工具,用户可以在该软件中创建多个笔记,用手指或手写笔,像在稿纸上一样写字、作画,每一页笔记都可以修改、编辑或删除。笔记每天可生成的内容比较多,会议记录、日程安排、生活备忘、奇思妙想、快乐趣事以及任何突发灵感都可以记录到笔记中。此外,笔记还能够实现个人电脑、移动设备等多个终端和云端之间的信息同步。
在一些使用场景中,用户希望能在多个应用端对笔记进行查看或编辑。例如,用户在某处通过个人计算机对笔记进行了编辑,并同步到云端服务器;在另一个时间点另一个地方,用户想通过笔记本电脑查看该笔记,此时,由于该笔记本没有存储最新版本的笔记,因此需要从云端服务器请求数据同步,以便获取最新的笔记。
然而,目前,对于数据同步,普遍采用一次性同步的方式,当遇到比较大的笔记文件时,会导致同步速度比较慢,从而影响用户的体验。
发明内容
有鉴于此,本申请提供了一种笔记的同步方法及装置,以克服现有技术对于大文件笔记同步速度较慢的问题。
为实现上述目的,本申请提供如下技术方案:
一种笔记同步方法,包括:
当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
若笔画存在更新,则判断所述更新是否包含新增笔画,以及将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
若确定包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
优选地,所述笔记同步方法还包括:
当保存编辑后的笔记时,将编辑后的笔记的索引数据和笔画信息同步至服务器;
当所述编辑后的笔记存在新增笔画时,将所述新增笔画的点文件保存在本地,并同步至服务器。
优选地,所述判断笔画是否存在更新,包括:
判断从服务器获取的所述索引数据所包含的时间戳中,是否存在比本地已有笔记的时间戳更新的时间戳;
若是,则确定笔画存在更新;若否,则确定笔画不存在更新;
其中,时间戳用于表示笔记最后编辑的时间。
优选地,所述将服务器中的笔画信息同步至本地,包括:
将服务器中的笔画信息全部下载至本地;或,
基于所述比对结果,确定存在更新的笔画的索引数据;
利用所述存在更新的笔画的索引数据,将服务器中存在更新的笔画的笔画信息下载至本地。
优选地,所述确定需要进行笔记同步的方式,包括:
本地主动向服务器请求最新的笔记;或,
本地接收到服务器发出的笔记同步通知。
优选地,所述索引数据包括文件夹ID、文件夹的时间戳、笔记ID、笔记的时间戳、页面ID、页面的时间戳、笔画ID和笔画的时间戳;
其中文件夹用于对笔记进行整理,每一份笔记包括至少一个页面,每一个页面包括至少一个笔画。
优选地,所述点文件包括描述组成笔画的点的坐标和时间戳;
所述笔画信息包括笔画的状态信息,所述状态信息包括有效和无效。
优选地,将服务器中的所述新增笔画的点文件同步至本地,包括:
将服务器中的所述新增笔画的点文件,通过对象存储服务OSS的方式同步到本地;
将所述新增笔画的点文件同步至服务器,包括:
将所述新增笔画的点文件通过所述OSS的方式同步到服务器。
优选地,所述当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,包括:
当接收到服务器通过同步网关发出的笔记同步通知时,将服务器中存储的笔记的索引数据,以数据表单的形式同步至本地数据库中;
其中,同步网关设置于服务器中,用于检测服务器与本地数据库的数据是否同步。
基于上述的笔记同步方法,本申请还提供一种笔记同步装置,包括:
索引数据同步模块,用于:当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
笔画信息判断模块,用于:将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
笔画信息同步模块,用于:若笔画信息判断模块判断出笔画存在更新,将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
笔画新增判断模块,用于:若笔画信息判断模块判断出笔画存在更新,判断所述更新是否包含新增笔画;
点文件同步模块,用于:若笔画新增判断模块判断出所述更新包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
经由上述的技术方案可知,本申请将笔记划分为索引数据、笔画信息和点文件。其中,索引数据和笔画信息分别用于对笔画进行索引和对笔画的属性进行描述,其所占用的字节空间不大;点文件则用于具体描述组成笔画的点,由于笔画通常由多个点组成,而点在笔记文档中通过位置矢量来描述,因此点文件通常占用比较大的字节空间。
本申请在获取最新笔记时,首先将服务器中存储的笔记的索引数据同步至本地,并将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;此外,还将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果判断是否存在新增笔画。进一步根据判断结果针对更新部分以及新增部分进行下载。对于占用空间较大的描述笔画的点的数据,仅仅向服务器请求新增笔画的点文件,而非直接下载笔记的所有点文件,减少了同步所花费的时间,提高了同步效率,进而改善了用户对笔记的使用体验。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例公开的一种笔记同步方法的示意图;
图2为本申请实施例公开的一种笔记存储结构的示意图;
图3为本申请实施例公开的一种笔记同步方法在上行同步时的示意图;
图4为本申请实施例公开的一种笔记同步装置的示意图;
图5为本申请实施例公开的一种笔记编辑设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及笔记应用,其硬件环境包括终端和服务器。其中,终端具体为笔记应用终端,可以为手机、平板电脑、笔记本电脑或台式电脑等智能设备;用户可以通过终端对笔记进行阅读或编辑。服务器具有存储、备份和数据传输等功能,用于在云端对笔记进行存储,并提供数据库管理、文件管理等功能,以便于笔记在终端与服务器之间的同步。
由背景技术可知,在终端向服务器请求最新的笔记时,现有技术通常采取直接将整份笔记从服务器下载到终端的方式。手写笔记通常由笔画组成,而笔画由一个个点构成,手写笔记保存了用户的手写笔迹,然而,为此要花费较大的存储空间去一一描述组成笔画的点。当遇到比较大的手写笔记时,采用现有技术这种同步方式,直接将整份笔记从服务器下载到终端,该下载过程会花费比较长的时间。
本案申请人发现,在具体应用中,很多情况下,终端并非完全没有存储任何笔记,一般地,是存储有某笔记的稍旧的版本。在数据同步中,终端仅需获取服务器中最新的笔记相对于本地所保存的这份笔记的新增部分或修改部分。
基于此,本申请在存储笔记数据时,将其划分为索引数据以及笔记内容。具体地,索引数据用于对构成笔记的笔画进行索引;笔记内容包括笔画信息和点数据,其中,笔画信息用于描述笔画的属性,点数据包含构成笔画的点的数据信息,用于描述构成笔画的点。由于点数据通常比较多,为方便管理,可以单独以文件形式对其进行存储。以下对点数据的文件简称为点文件。
请参阅图1,本申请提供的笔记同步方法,包括以下步骤:
步骤S101,将服务器中笔记的索引数据同步至本地。
具体地,当确定需要进行笔记同步时,终端将服务器中存储的笔记的索引数据同步至本地。
通常,一份笔记可以包含多个笔画,这些笔画可以处于同一个页面,也可以分布于不同页面中。通过索引数据,可以方便地定位到具体的页面以及具体的笔画。
步骤S102,判断笔画是否存在更新,如果存在更新,则执行步骤S103,否则结束本次同步。
具体地,将步骤S101中获取的索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新。
例如,当从服务器中所获取的索引数据中,包含更新的版本号,或者,包含更新的时间戳,或者,存在新增的索引信息,则可以认为产生了新编辑的笔画,即笔画存在更新。
如果笔画存在更新,则执行步骤S103;否则,可以认为不需要进行笔记更新,结束本次同步操作。
步骤S103,将服务器中的笔画信息同步至本地,并对本地的笔画信息进行更新。
在本步骤中,终端将服务器中的笔画信息同步至本地,并利用该笔画信息对本地已有笔记的笔画信息进行更新。
具体地,终端在获取服务器中的笔画信息时,可以采用任何一种网络数据请求方式,所获取的笔画信息通常首先保存在终端笔记应用程序的存储空间中。而本地的有效笔画信息通常以数据库形式保存在终端的非易失性存储器中。因此,在从服务器获取笔画信息后,还需要进一步利用该笔画信息对本地的笔画信息进行更新,使得本地的笔画信息与服务器的一致。
步骤S104,判断是否存在新增笔画,如果存在新增笔画,则执行步骤S105,否则结束本次同步。
具体地,在步骤S102中判断出存在笔画更新后,由于笔画更新可以包括多种情况,例如,修改笔画属性,删除某些笔画,以及新增某些笔画。因此,若笔画存在更新,则可以进一步判断该更新是否包含新增笔画。
可以理解的是,在步骤S102中判断出笔画存在更新后,可以同时执行步骤S103和步骤S104,当然也可以不分先后地依次执行步骤S103和步骤S104。步骤S103与步骤S104之间没有必然的顺序关系,图1仅仅示例了本申请的笔记同步方法的其中一种可选的方案。
步骤S105,将服务器中的所述新增笔画的点文件同步至本地。
具体地,在上一步骤判断出存在新增笔画时,则将服务器中的该新增笔画的点文件同步至本地。
具体地,将服务器中新增笔画的点文件下载至本地,然后将该新增笔画的点文件,更新至本地保存的点文件。笔记终端在加载最新笔记时,则可依据该新增的点文件将新增笔画加载到笔记显示页面中。
本申请实施例提供的笔记同步方法,在获取最新笔记时,首先下载笔记的索引数据,根据索引数据判断是否存在更新以及是否存在新增,再进一步根据判断结果针对更新部分以及新增部分进行下载。尤其对于占用空间较大的笔画点数据,仅仅向服务器请求新增笔画的点文件,而非直接下载笔记的所有点文件,减少了同步所花费的时间,提高了同步效率,进而改善了用户对笔记的使用体验。
在本申请的一些实施例中,对上述步骤S101中当确定需要进行笔记同步时,终端将服务器中存储的笔记的索引数据同步至本地的过程进行介绍。
首先,对于上述步骤S101中,确定需要进行笔记同步的过程,可以有多种可选的实现方式。
具体地,第一种情况,笔记终端可以主动向服务器请求笔记同步以获取最新的笔记。例如,在打开笔记应用时,向服务器发送同步请求,或者,定时到服务器查询笔记更新情况,以便及时获取最新的笔记。
第二种情况,可以由服务器发起更新通知,笔记终端被动接收笔记同步信息。在一种可选的方式下,服务器可以通过同步网关来发送笔记同步通知。
进一步地,对于上述第二种情况,对于笔记终端被动接收笔记同步信息时,终端将服务器中存储的笔记的索引数据同步至本地的过程,可以是:
当笔记终端接收到服务器通过同步网关发出的笔记同步通知时,将服务器中存储的笔记的索引数据,以数据表单的形式同步至本地数据库中。
其中,同步网关设置于服务器中,用于检测服务器与本地数据库的数据是否同步。
在一个具体的应用中,可以采用Couchbase来部署笔记终端和服务器的数据库管理系统。具体地,在本地安装数据库Couchbase Lite,服务器安装并配置CouchbaseServer,笔记的索引数据以及笔画信息以表单形式存储在本地以及服务器的数据库中,本地与服务器之间通过同步网关(Sync Gateway)来进行数据的自动同步。
对于上述步骤S102中笔画是否存在更新的判断过程,在实际应用中,可以有多种方式判断服务器中所保存的笔画是否存在更新,例如,通过笔画最后保存时所生成的时间戳,或者是采用版本号对笔画的版本进行描述。
基于此,在一个可选的实施例中,基于比对结果,判断笔画是否存在更新的过程,可以包括:
将从服务器获取的索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断该索引数据是否包含较新时间戳的索引信息,其中,时间戳用于表示笔记最后编辑的时间。
具体地,对笔记进行修改后,在保存时,可以对编辑过的笔记的相关索引的时间戳更新为保存时的时间信息;对笔记写进新的内容后,对于新增的内容生成新的索引,对于该索引也附上保存时的时间信息。
可以理解的是,对于从服务器获取的索引数据,判断该索引数据所包含的时间戳,是否存在比本地已有笔记的时间戳更新的时间戳;若是,则确定笔画存在更新;若否,则确定笔画不存在更新。
在一个具体的应用中,用户的名下可以包含多份笔记,并且可以对该多份笔记进行分类整理,通常地,可以采用文件夹对笔记进行分类整理。一份笔记可以仅有一个页面,也可以包含多个页面。此外,如前面所述,对于手写笔记,其由一个个笔画组成。
基于此,在一个可选的实施例中,为实现通过时间戳获知笔记的更新情况,该索引数据可以包括文件夹ID、文件夹的时间戳、笔记ID、笔记的时间戳、页面ID、页面的时间戳、笔画ID以及笔画的时间戳。
在一个可选的实施例中,重新整理了文件夹或新建了文件夹会引起文件夹以及包含在该文件夹的笔记的时间戳的改变;修改了页面布局、页面分布等情况会引起页面以及该页面所归属的笔记的时间戳的改变;对笔记进行修改或新增会引起该笔记以及该笔记所在的文件夹的时间戳的改变;对笔画进行修改或新增会引起该笔画以及包含该笔画的页面、文件夹、笔记的时间戳的改变。
因此,无论是重新整理了文件夹,或是修改了页面布局、页面分布等情况,或是修改了笔记的名称等,或是对笔画进行了修改,都可以通过相应的时间戳信息,如文件夹的时间戳、笔记的时间戳、页面的时间戳或笔画的时间戳,来确定最后编辑的时间。
笔记数据除了对索引数据进行上述属性信息的限定,还可以对笔记以及组成笔记的笔画的属性进行限定。例如,对于笔记,可以设置整体的笔画颜色、线宽大小、背景大小、页面大小等属性;对于笔画,可以设置具体笔画的颜色、线宽大小等属性。
此外,为描述在笔记中删除某些笔画的情形,还可以对笔画增设状态属性。具体地,当某笔画的状态为有效时,笔记应用对于该笔画进行正常加载;当某笔画的状态为无效时,则认为该笔画已经被用户删除,笔记应用不再加载该笔画。
可以理解的是,也可以通过直接删除该笔画信息,以表示该笔画被删除的状态。然而,可能存在某些情况,用户进行了误删除操作,后来想撤销删除操作,并恢复之前的笔画。此时,如果是采取直接删除笔画信息的方案,则无法恢复之前误删的数据;而采用增设状态属性以表示笔画删除的方案,则可以对误删操作进行撤销,并恢复误删除的笔记数据。
基于此,在一个可选的实施例中,为保留历史笔画数据,对于构成笔画的点数据,不作删除操作,每次新增笔画,其点数据都被保存下载。具体地,以点文件形式对构成笔画的点数据进行存储。
对于手写笔记,笔画由具体的点构成,点在页面上可以通过位置及大小来描述,对于具有3D-touch功能的触摸屏终端,点还可以通过压力值来描述。基于此,在一个可选的实施例中,点文件可以包括描述组成笔画的点的坐标、压力和时间戳。
下面一个具体的例子中,对笔记的存储结构进行介绍。请参阅图2,笔画信息可以包括颜色-color、线宽大小-size、笔画ID-shapeID、页面ID-pageID;点文件的数据可以包括笔画ID以及该笔画下面的点的信息,具体可以为坐标、大小、时间戳以及压力。
具体地,以“十”字为例,笔画“—”以及笔画“|”的笔画信息均包括上述笔画信息。其中,由于属于不同笔画,笔画“—”以及笔画“|”分别具有不同的笔画ID(一个为shapeId_c,一个为shapeId_d);由于在同一页面,因此具有相同的页面ID(均为pageId_a)。
对于笔画“—”以及笔画“|”的点文件,其点数据包括坐标、大小、时间戳以及压力,具体属性参数如图2所示。其中,笔画“—”以及笔画“|”均由4个点组成,由于位置不同,它们具有不同的坐标值;由于在手写过程中存在先后关系,它们具有不同的时间戳;由于力度的不同,它们具有不同的压力。特别地,该点文件的文件名包括页面ID和revisionId。其中,点文件的revisionId与相应笔画的revisionId一致。因此,可以通过页面ID以及revisionId来定位涉及某笔画的点文件。
通过上述描述的笔记的存储结构,笔记应用可以方便地将笔记数据加载到笔记应用中,或者将笔记应用中新建或新编辑的笔记保存在笔记文件中,并且通过时间戳信息获知笔画的更新状况。
当确定笔画存在更新后,接着可以采用较新的数据信息对本地的笔记进行具体的更新操作,以便于将最新的笔记呈现给用户,并供用户进一步编辑。可以理解的是,对于步骤S103中将服务器中的笔画信息同步至本地的过程中,对于笔画信息,既可以将整份笔画信息数据从服务器下载下来,也可以仅下载存在更新的笔画信息。
基于此,在一个可选的实施例中,将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新的过程,可以包括:
将服务器中的存在更新的笔画信息下载至本地,并利用下载后的笔画信息对本地已有笔记的笔画信息进行更新。
在上述实施例记载了从服务器获取最新笔记,亦即从服务器同步至终端的情况。在另一个应用场景中,笔记终端新建了一个笔记,或者对本地已有的笔记进行了编辑,此时对该编辑后的笔记在本地进行保存,同时更新至服务器中,以便其他终端及时获取更新后的笔记。
基于此,请参阅图3,为实现笔记的上行同步,除了上述步骤S101至步骤S105,本申请提供的笔记同步方法,还可以包括以下步骤:
S201,将编辑后的笔记的索引数据和笔画信息同步至服务器。
具体地,当保存编辑后的笔记时,将编辑后的笔记的索引数据和笔画信息同步至服务器。
其中,对于索引数据,可以将笔记的整份索引数据上传至服务器。对于笔画信息,既可以将整份笔画信息上传至服务器,由服务器执行更新比对的操作;也可以在本地完成比对工作,确定本地更新部分的笔画信息,然后仅将更新部分的笔画信息上传至服务器中。
S202,判断编辑后的笔记是否存在新增笔画,若存在,则将新增笔画的点文件同步至服务器。
具体地,如前所述,对笔记的编辑可以包括修改笔画属性,删除某些笔画,以及新增某些笔画。因此,还需对该编辑后的笔记是否存在新增笔画进行判断,以便进一步确定有否产生点文件的更新。当该编辑后的笔记存在新增笔画时,将该新增笔画的点文件保存在本地,然后再将其同步至服务器。
对于步骤S105以及步骤S202中将点文件下载至本地以及将点文件上传至服务器的过程,可以通过多种方式进行传输。
在一个可选的实施例中,对于步骤S105中将服务器中新增笔画的点文件同步至本地的过程,可以包括:
将服务器中新增笔画的点文件,通过对象存储服务(Object Storage Service,OSS)的方式同步到本地。
同样地,对于步骤S202中将终端中新增笔画的点文件同步至服务器的过程,可以包括:
将新增笔画的点文件通过OSS的方式同步到服务器。
在一个具体的应用中,可以采用阿里云的OSS服务进行上述操作。
基于上述笔记同步方法,本申请还提供一种笔记同步装置。下面对本申请实施例提供的笔记同步装置进行描述,下文描述的笔记同步装置与上文描述的笔记同步方法可相互对应参照。
请参阅图4,本申请实施例提供的笔记同步装置可以包括:
索引数据同步模块11,用于:当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
笔画信息判断模块12,用于:将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
笔画信息同步模块13,用于:若笔画信息判断模块判断出笔画存在更新,将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
笔画新增判断模块14,用于:若笔画信息判断模块判断出笔画存在更新,判断所述更新是否包含新增笔画;
点文件同步模块15,用于:若笔画新增判断模块判断出所述更新包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
在一个可选的实施例中,上述笔记同步装置还可以包括:
索引及笔画信息上行同步模块,用于:
当保存编辑后的笔记时,将编辑后的笔记的索引数据和笔画信息同步至服务器;
点文件上行同步模块,用于:
当所述编辑后的笔记存在新增笔画时,将所述新增笔画的点文件保存在本地,并同步至服务器。
在一个可选的实施例中,笔画信息判断模块12基于比对结果,判断笔画是否存在更新的过程,可以包括:
基于比对结果,判断所述索引数据是否包含较新时间戳的索引信息,其中,时间戳用于表示笔记最后编辑的时间;
若包含较新时间戳的索引信息,则确定笔画存在更新。
在一个可选的实施例中,笔画新增判断及笔画信息同步模块13将服务器中的笔画信息同步至本地的过程,可以包括:
将服务器中的笔画信息全部下载至本地;或者,
基于所述比对结果,确定存在更新的笔画的索引数据;
利用所述存在更新的笔画的索引数据,将服务器中存在更新的笔画的笔画信息下载至本地。
在一个可选的实施例中,索引数据同步模块11确定需要进行笔记同步的方式,可以包括:
主动向服务器请求最新的笔记;或者,
接收服务器发出的笔记同步通知。
在一个可选的实施例中,点文件同步模块14将服务器中的所述新增笔画的点文件同步至本地的过程,可以包括:
将服务器中的所述新增笔画的点文件,通过对象存储服务OSS的方式同步到本地。
在一个可选的实施例中,点文件上行同步模块将所述新增笔画的点文件同步至服务器的过程,可以包括:
将所述新增笔画的点文件通过所述OSS的方式同步到服务器。
在一个可选的实施例中,索引数据同步模块11当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地的过程,可以包括:
当接收到服务器通过同步网关发出的笔记同步通知时,将服务器中存储的笔记的索引数据,以数据表单的形式同步至本地数据库中。
其中,同步网关设置于服务器中,用于检测服务器与本地数据库的数据是否同步。
本申请实施例提供的笔记同步装置可应用于笔记编辑设备及其服务器,其中,笔记编辑设备即笔记应用终端,可以为手机、电脑等;服务器主要用于对笔记应用终端提供网络备份以及协调多终端的笔记同步。
可选的,图5示出了笔记编辑设备的硬件结构框图,参照图5,笔记编辑设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器10、通信接口20、存储器30、通信总线40的数量为至少一个,且处理器10、通信接口20、存储器30通过通信总线40完成相互间的通信;
处理器10可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器30可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器30存储有程序,处理器10可调用存储器30存储的程序,所述程序用于:
当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
若笔画存在更新,则判断所述更新是否包含新增笔画,以及将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
若确定包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器10执行的程序,所述程序用于:
当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
若笔画存在更新,则判断所述更新是否包含新增笔画,以及将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
若确定包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
综上所述:
本申请在获取最新笔记时,首先将服务器中存储的笔记的索引数据同步至本地,并将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;此外,还将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果判断是否存在新增笔画。进一步根据判断结果针对更新部分以及新增部分进行下载。对于占用空间较大的描述笔画的点的数据,仅仅向服务器请求新增笔画的点文件,而非直接下载笔记的所有点文件,减少了同步所花费的时间,提高了同步效率。
同样地,当用户在本地对笔记进行了编辑后,在对该编辑后的笔记进行保存时,仅针对修改部分以及新增部分进行同步,即只将修改部分和新增部分上传至服务器,而非上传整份笔记文件,减去了不必要的时间开销,提高了数据上传的同步效率,改善了用户对笔记的使用体验。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种笔记同步方法,其特征在于,包括:
当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
若笔画存在更新,则判断所述更新是否包含新增笔画,以及将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
若确定包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
2.根据权利要求1所述的方法,其特征在于,还包括:
当保存编辑后的笔记时,将编辑后的笔记的索引数据和笔画信息同步至服务器;
当所述编辑后的笔记存在新增笔画时,将所述新增笔画的点文件保存在本地,并同步至服务器。
3.根据权利要求1所述的方法,其特征在于,所述判断笔画是否存在更新,包括:
判断从服务器获取的所述索引数据所包含的时间戳中,是否存在比本地已有笔记的时间戳更新的时间戳;
若是,则确定笔画存在更新;若否,则确定笔画不存在更新;
其中,时间戳用于表示笔记最后编辑的时间。
4.根据权利要求1所述的方法,其特征在于,所述将服务器中的笔画信息同步至本地,包括:
将服务器中的笔画信息全部下载至本地;或,
基于所述比对结果,确定存在更新的笔画的索引数据;
利用所述存在更新的笔画的索引数据,将服务器中存在更新的笔画的笔画信息下载至本地。
5.根据权利要求1所述的方法,其特征在于,所述确定需要进行笔记同步的方式,包括:
向服务器请求最新的笔记;或,
接收到服务器发出的笔记同步通知。
6.根据权利要求1所述的方法,其特征在于,所述索引数据包括文件夹ID、文件夹的时间戳、笔记ID、笔记的时间戳、页面ID、页面的时间戳、笔画ID和笔画的时间戳;
其中文件夹用于对笔记进行整理,每一份笔记包括至少一个页面,每一个页面包括至少一个笔画。
7.根据权利要求1所述的方法,其特征在于,所述点文件包括描述组成笔画的点的坐标和时间戳;
所述笔画信息包括笔画的状态信息,所述状态信息包括有效和无效。
8.根据权利要求2所述的方法,其特征在于,
将服务器中的所述新增笔画的点文件同步至本地,包括:
将服务器中的所述新增笔画的点文件,通过对象存储服务OSS的方式同步到本地;
将所述新增笔画的点文件同步至服务器,包括:
将所述新增笔画的点文件通过所述OSS的方式同步到服务器。
9.根据权利要求1~8任一项所述的方法,其特征在于,所述当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,包括:
当接收到服务器通过同步网关发出的笔记同步通知时,将服务器中存储的笔记的索引数据,以数据表单的形式同步至本地数据库中;
其中,同步网关设置于服务器中,用于检测服务器与本地数据库的数据是否同步。
10.一种笔记同步装置,其特征在于,包括:
索引数据同步模块,用于:当确定需要进行笔记同步时,将服务器中存储的笔记的索引数据同步至本地,其中,所述索引数据用于对笔画进行索引;
笔画信息判断模块,用于:将所述索引数据和本地已有笔记的索引数据进行比对,基于比对结果,判断笔画是否存在更新;
笔画信息同步模块,用于:若笔画信息判断模块判断出笔画存在更新,将服务器中的笔画信息同步至本地,并利用所述笔画信息对本地已有笔记的笔画信息进行更新,其中,所述笔画信息用于描述笔画的属性;
笔画新增判断模块,用于:若笔画信息判断模块判断出笔画存在更新,判断所述更新是否包含新增笔画;
点文件同步模块,用于:若笔画新增判断模块判断出所述更新包含新增笔画,则将服务器中的所述新增笔画的点文件同步至本地,其中,所述点文件用于描述组成笔画的点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110585181.9A CN113239004B (zh) | 2021-05-27 | 2021-05-27 | 一种笔记同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110585181.9A CN113239004B (zh) | 2021-05-27 | 2021-05-27 | 一种笔记同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113239004A true CN113239004A (zh) | 2021-08-10 |
CN113239004B CN113239004B (zh) | 2021-11-26 |
Family
ID=77139131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110585181.9A Active CN113239004B (zh) | 2021-05-27 | 2021-05-27 | 一种笔记同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239004B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704227A (zh) * | 2021-08-26 | 2021-11-26 | 广东电网有限责任公司广州供电局 | 一种增量更新数据入库方法、装置、电子设备及存储介质 |
CN113766031A (zh) * | 2021-09-13 | 2021-12-07 | 杭州安恒信息技术股份有限公司 | 一种笔记资源存储方法、装置及相关设备 |
CN114153417A (zh) * | 2021-12-10 | 2022-03-08 | 广州文石信息科技有限公司 | 屏幕更新方法、装置、存储介质及计算机设备 |
CN116450745A (zh) * | 2023-04-26 | 2023-07-18 | 深圳市英唐数码科技有限公司 | 基于多设备的笔记文件操作方法、系统和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168285A (zh) * | 2014-08-26 | 2014-11-26 | 天脉聚源(北京)教育科技有限公司 | 一种多媒体同步方法、装置及系统 |
CN104541265A (zh) * | 2012-08-08 | 2015-04-22 | 微软公司 | 电子阅读器系统 |
CN105007310A (zh) * | 2015-06-30 | 2015-10-28 | 深圳走天下科技有限公司 | 信息同步方法、装置和系统 |
CN109085965A (zh) * | 2018-07-19 | 2018-12-25 | 掌阅科技股份有限公司 | 笔记生成方法、电子设备及计算机存储介质 |
CN110703978A (zh) * | 2019-09-25 | 2020-01-17 | 掌阅科技股份有限公司 | 信息显示方法、阅读器以及计算机存储介质 |
CN111539188A (zh) * | 2020-04-23 | 2020-08-14 | 掌阅科技股份有限公司 | 笔记生成方法、计算设备及计算机存储介质 |
-
2021
- 2021-05-27 CN CN202110585181.9A patent/CN113239004B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104541265A (zh) * | 2012-08-08 | 2015-04-22 | 微软公司 | 电子阅读器系统 |
CN104168285A (zh) * | 2014-08-26 | 2014-11-26 | 天脉聚源(北京)教育科技有限公司 | 一种多媒体同步方法、装置及系统 |
CN105007310A (zh) * | 2015-06-30 | 2015-10-28 | 深圳走天下科技有限公司 | 信息同步方法、装置和系统 |
CN109085965A (zh) * | 2018-07-19 | 2018-12-25 | 掌阅科技股份有限公司 | 笔记生成方法、电子设备及计算机存储介质 |
CN110703978A (zh) * | 2019-09-25 | 2020-01-17 | 掌阅科技股份有限公司 | 信息显示方法、阅读器以及计算机存储介质 |
CN111539188A (zh) * | 2020-04-23 | 2020-08-14 | 掌阅科技股份有限公司 | 笔记生成方法、计算设备及计算机存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704227A (zh) * | 2021-08-26 | 2021-11-26 | 广东电网有限责任公司广州供电局 | 一种增量更新数据入库方法、装置、电子设备及存储介质 |
CN113766031A (zh) * | 2021-09-13 | 2021-12-07 | 杭州安恒信息技术股份有限公司 | 一种笔记资源存储方法、装置及相关设备 |
CN114153417A (zh) * | 2021-12-10 | 2022-03-08 | 广州文石信息科技有限公司 | 屏幕更新方法、装置、存储介质及计算机设备 |
CN114153417B (zh) * | 2021-12-10 | 2022-10-28 | 广州文石信息科技有限公司 | 屏幕更新方法、装置、存储介质及计算机设备 |
CN116450745A (zh) * | 2023-04-26 | 2023-07-18 | 深圳市英唐数码科技有限公司 | 基于多设备的笔记文件操作方法、系统和可读存储介质 |
CN116450745B (zh) * | 2023-04-26 | 2024-02-02 | 深圳市英唐数码科技有限公司 | 基于多设备的笔记文件操作方法、系统和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113239004B (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113239004B (zh) | 一种笔记同步方法及装置 | |
US9152631B2 (en) | Document management system, method for controlling the same, and storage medium | |
CN102349062B (zh) | 浏览器缓存与远程仓库同步的方法和系统 | |
US8620861B1 (en) | Preserving file metadata during atomic save operations | |
CN103902589B (zh) | 一种下载文件的管理方法及装置 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN110830580B (zh) | 一种存储数据同步方法及装置 | |
US9104689B2 (en) | Method for synchronizing documents for disconnected operation | |
JP5813903B1 (ja) | 端末装置、データ管理システム、方法、プログラム | |
CN110297781B (zh) | 一种基于写时复制来恢复apfs中被删除数据的方法 | |
CN110941629A (zh) | 元数据处理方法、装置、设备及计算机可读存储介质 | |
CN103365535B (zh) | 信息处理装置及信息处理方法 | |
CN101065726A (zh) | 在基本系统和移动系统之间基于使用历史的内容交换 | |
JP4142866B2 (ja) | データベース同期化装置及びプログラム | |
US6973472B2 (en) | Data synchronization system and method based on modification records and common formatting | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN110795920A (zh) | 一种文档生成方法及设备 | |
CN112347046B (zh) | 一种获取分布式系统中文件的创建时间的方法 | |
US20220050811A1 (en) | Method and apparatus for synchronizing file | |
CN114840497A (zh) | 一种数据库的行迁移预处理方法、系统、装置及存储介质 | |
CN111953722B (zh) | 一种终端通讯录的同步方法及装置 | |
CN110232047B (zh) | Cad文件的时间线管理系统、方法、计算机可读存储介质及计算机终端 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
JP2011233104A (ja) | 情報処理システム、情報処理装置、情報処理方法、プログラム、記録媒体 | |
CN114675776A (zh) | 资源存储方法和装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |