CN114048178A - 一种数据的双模式存储及同步方法 - Google Patents
一种数据的双模式存储及同步方法 Download PDFInfo
- Publication number
- CN114048178A CN114048178A CN202111436401.8A CN202111436401A CN114048178A CN 114048178 A CN114048178 A CN 114048178A CN 202111436401 A CN202111436401 A CN 202111436401A CN 114048178 A CN114048178 A CN 114048178A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- text file
- synchronization
- cloud
- 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
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000001360 synchronised effect Effects 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000001960 triggered effect Effects 0.000 claims abstract description 20
- 230000009191 jumping Effects 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 16
- 238000012423 maintenance Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000007405 data analysis Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 7
- 230000009977 dual effect Effects 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 5
- 230000026676 system process Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000002904 solvent Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据的双模式存储及同步方法,属于数据处理技术领域,用以解决数据双模式存储过程中的数据同步问题。一种数据的双模式存储及同步方法,包括:当云文件***和基于数据库的表单***中的一方接收到数据操作指令时,执行数据操作指令中的数据操作,并判断数据操作是否触发于用户请求,若是,还触发同步***执行同步操作:同步触发云文件***和表单***中的另一方执行同步于该数据操作的数据操作;其中,所述表单***用于以数据库模式存储数据;所述云文件***用于以文件模式存储数据;所述同步***用于实现文件模式与数据库模式存储的数据之间的同步。该数据的双模式存储及同步方法无需人工干涉即可完成数据同步工作。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据的双模式存储和同步方法。
背景技术
在计算机领域,将从生产生活中提取的一条数据资料存储到计算机中,从应用的角度来看,有文件存储(又以文本文件方式为最常见一种方法)、数据库存储两种方式。“数据”本身是一个抽象的概念。在不同的事务中,“一条数据”有不同的内容丰度。学校班级内“学生”数据中的一条数据,包括一名学生的姓名、性别、学号等个人完整信息,甚至还可能将一张该学生的照片作为数据的一部分;而以“图册”为整体的事务中,一条数据可能仅仅是一张图片,再无其他。总体来说,“一条数据”就是指在同一类事务环境的前提下,具备相对独立信息的一个最小逻辑单元的数据,是指没有结构上类似的重复个体的数据集合。
文件存储数据的基础都是二进制。通过ASCII编码等方法,人们将二进制和日常使用的文字进行映射转换,从而有了通用的文本文件类型。该类型最大的特点就是,几乎所有的计算机软件***都直接支持该类型文件的读取、存储和编辑,不需要任何额外的软件功能支持。这不仅包括了我们日常使用的个人电脑、手机等智能计算机设备,连简单的单片机、嵌入式***等也对文本文件有着最为基础的使用支持。当然文本文件也有一些局限性,对于文字以外的数据形式,例如图片、声音、视频等多媒体信息的支持不佳。但通过对二进制数据进行一些特殊的编码转换(例如base64等),仍然是可以将这些数据记录在文本文件中;虽然打开这样的文本文件,人们无法直接阅读并理解这些转换后的信息,但仍可通过软件对其进行反编码然后使用。基于上面的描述,显然,一条数据是可以存储在单个文本文件中的。
数据库***则是计算机软件领域非常重要的一种数据应用***,通过将描述“一条数据”的结构明确化为一个数据表格的方式,可用于存储相同格式的多条数据;并维系这些数据内部或与外部其他数据之间的联系,实现各种可能的数据交互。目前计算机科学领域的数据库***有很多,本发明不针对各种各样的数据库***进行差异化分析,只关注其“综合数据管理”的共性。要注意到,在操作***层面,所有的计算机运行过程中产生的数据,最终都是以文件为存储方式存储到存储介质上的,数据库***也不例外——绝大多数数据库对应的存储文件为二进制模式,必须使用相关的程序才能读写。无论最终存储形式为何,一条数据存储在数据库中,是再平常不过的事情。
通过前面的描述,尽管在底层实现上两种存储方式有相似点(最终都以计算机***中的文件存储方式存储到介质上)。但是,将一条数据存储到计算机中,结合用户随后访问数据的界面可知,不同的存储方式存在很大的不同,主要区别如表1所示。
表1对比一条数据存储在单个文本文件中、存储在数据库中的特点
现实生活中,一条数据存储到一个单独的文本文件,还是存储到数据库中,这两种存储方法,都有其适应的场合,各有优势和劣势。但如果能同时对一条数据启用两种模式的存储,就能结合二者的优势,规避其劣势,形成更为灵活、强大的数据功能***。
但如果要实现双模式存储,就必须面临以下问题。
(1)在文本文件中设计一种与数据库存储匹配的数据格式
文本文件本身容放数据是非常自由的,但存储数据如果没有一种严格的格式约束,则在之后通过程序的方式从文本文件中提取数据就会变得很困难,不利于日常使用。因此需要为文本文件存储数据设计一种格式来进行约束。
(2)在文本文件中提供一定加密能力来保护数据
文本文件几乎在所有计算机***中都能够直接打开访问其内容。若要赋予其内容的安全性,对文本文件的原始内容可提供若干加密方式进行转换。这些加密算法一定是可逆的,且需要密钥才能解密。密钥的保存和使用也需要一个配套的***来支持。
(3)为数据存储的文本文件进行文件***安全性补充
注意,这种安全性补充,是指当所有的存储数据的文本文件集中存储在一个特定的文件***中时,进行安全性补充;当该文本文件通过拷贝、网络传输等方式离开该文件***后,这些安全措施即将失效。如果对于取出的文件在其他***中仍具备一定的安全性,则需要依赖文件本身的加密措施。
(4)提供一种自动同步两种模式下存储的数据的方法
数据以两种不同模式进行存储后,就产生了至少两个数据副本。日常使用中,不同模式下的数据发生变化后,就有一个同步的需求,否则数据内容不匹配,各个模式所体现的应用优势也就没有意义了。
同步两种模式下的数据,使之始终保持内容一致,是数据双模式存储方案中最为核心的过程。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种数据的双模式存储和同步方法,用以解决数据双模式存储过程中的数据同步问题。
本发明实施例公开了一种数据的双模式存储及同步方法,包括:
当云文件***和基于数据库的表单***中的一方接收到数据操作指令时,
执行数据操作指令中的数据操作,
并判断数据操作是否触发于用户请求,若是,还触发同步***执行同步操作:同步触发云文件***和表单***中的另一方执行同步于该数据操作的数据操作;
其中,所述表单***用于以数据库模式存储数据;所述云文件***用于以文件模式存储数据;所述同步***用于实现文件模式与数据库模式存储的数据之间的同步。
在上述方案的基础上,本发明还做出了如下改进:
进一步,在云文件***中,一条数据存储为一个独立的数据文本文件,所述数据文本文件包括数据结构、数据结构唯一标识、匹配于数据结构的一条数据值及数据值唯一标识;其中,
数据结构,用于以文本形式描述所述数据中的关键字段;
数据结构唯一标识,用于唯一标识所述数据结构;
数据值,用于以文本形式描述所述数据中关键字段的取值;
数据值唯一标识,用于唯一标识所述数据值。
进一步,表单***中的表单模板由数据格式和若干条数据行组成;表单模板中的一条数据唯一对应一个数据包,数据包包括数据格式、数据格式唯一标识、匹配于数据格式的一条数据行、以及数据行唯一标识;其中,
数据格式,用于以表格形式描述所述数据中的关键字段;
数据格式唯一标识,用于唯一标识所述数据格式;
数据行,用于以表格形式描述所述数据中关键字段的取值;
数据行唯一标识,用于唯一标识所述数据行。
进一步,当所述数据操作指令为文件新建指令时,执行:
步骤YX1:云文件***接收文件新建指令,判断所述文件新建指令是否来自用户请求,
若是,根据文件新建指令新建数据文本文件、并存储在云文件***中;跳转到步骤YX2;
若否,直接根据文件新建指令新建数据文本文件、并存储在云文件***中,新建数据文本文件完成;
步骤YX2:同步***监控到云文件***中新建的数据文本文件,同步操作开始:
步骤YX21:控制表单***创建一个空数据包,并将该空数据包关联到该新建的数据文本文件;
步骤YX22:将该新建的数据文本文件解析为数据包,并将该数据包发送至表单***;
步骤YX3:表单***处理该数据包,根据数据包包含的内容执行相应的数据库操作,得到数据库操作结果;数据库操作结果为删除数据包,或,数据包已更新到表单***;
步骤YX4:同步***监控到数据包已更新到表单***后,将更新后的数据包打包为数据文本文件后发送至云文件***;
步骤YX5:云文件***基于接收到的数据文本文件填充新建的数据文本文件,此时,该新建的数据文本文件为关联状态文件;新建数据文本文件完成;
步骤YX6:同步***监控到删除数据包后,向云文件***反馈数据不兼容报错;
步骤YX7:云文件***接收到数据不兼容报错后,将新建的数据文本文件作为孤立文本存储在云文件***中;新建数据文本文件完成。
进一步,当所述数据操作指令为文件编辑指令时,执行:
步骤YB1:云文件***接收文件编辑指令,判断所述文件编辑指令是否来自用户请求,
若是,编辑数据文本文件执行;跳转到步骤YB2;
若否,直接根据文件编辑指令编辑数据文本文件、并存储在云文件***中,编辑数据文本文件完成;
步骤YB2:同步***监控到编辑数据文本文件执行时,同步操作开始:
判断待编辑的数据文本文件是否孤立,
若孤立,由云文件***任意编辑文件数据,得到编辑后的数据文本文件并存储在云文件***中,该数据文本文件为孤立文件;编辑数据文本文件完成;
若不孤立,同步***从表单***中获取关联于该数据文本文件的数据包,打包数据包为数据文本文件后发送至云文件***;
步骤YB3:云文件***基于接收到的数据文本文件生成待编辑的数据文本文件的副本,有限编辑数据文本文件副本数据,并将编辑后的数据文本文件存储在云文件***中;
步骤YB4:同步***将原数据包关联到编辑后的数据文本文件;解析编辑后的数据文本文件为数据包,并将该数据包发送给表单***;
步骤YB5:表单***根据接收到的数据包重新填充关联的数据包的数据行信息,并将数据包更新到表单***;
步骤YB6:同步***监控到数据包已更新到表单***后,向云文件***反馈同步操作完成;
步骤YB7:云文件***收到同步操作完成后,编辑后的数据文本文件为关联状态文件,编辑数据文本文件完成。
进一步,当所述数据操作指令为***一条新数据或更新一条数据时,执行:
在表单***中执行***一条新数据或更新一条数据;
判断该数据操作指令是否来自用户请求,
若是,将***的新数据或更新的数据记录为数据包;
若否,保存***的新数据或更新的数据,完成;
同步***监控到该数据包后,同步操作开始:
控制云文件***创建一个空内存数据文本文件;
将数据包关联到空内存数据文本文件;
数据包打包为数据文本文件,并将该数据文本文件发送给云文件***;
云文件***基于数据文本文件内容填充空内存数据文本文件,完成新建数据文本文件;
同步***监控到新建数据文本文件完成后,向表单***反馈同步操作完成;
表单***收到同步操作完成后,保存***的新数据或更新的数据,完成。
进一步,所述同步***执行同步操作时,执行以下一种或多种操作:
关联维护,包括三个元操作:判断一个数据包是否是孤立,一个数据文本文件是否孤立,将一个数据包关联到一个数据文本文件;
数据解析,以数据文本文件中的数据为准、同步到数据包中;
数据打包,以数据包中的数据为准、同步到数据文本文件中。
进一步,在所述关联维护中,
将一个数据包关联到一个数据文本文件:通过设置从数据包发起的、指向数据文本文件的指针关系,将数据包关联到相应的数据文本文件;
数据包是否孤立的判断:若该数据包关联一个数据文本文件,则数据包不孤立;否则,数据包孤立;
数据文本文件是否孤立的判断:若存在一个数据包与该数据文本文件关联,则数据文本文件不孤立;否则,数据文本文件孤立。
进一步,数据解析的过程为:
步骤J1:读取数据文本文件中的数据结构唯一标识,判断是否含数据结构唯一标识,若含,则记录该数据结构唯一标识,然后跳转到J2;若不含,直接跳转到J2;
步骤J2:读取数据文本文件中的数据结构信息,并转换数据结构信息为数据格式;
步骤J3:读取数据文本文件中的数据值唯一标识,判断是否含数据值唯一标识,若含,则记录数据值唯一标识,然后跳转到J4;若不含,直接跳转到J4;
步骤J4:读取数据文本文件中的数据值,并转换数据值为数据行;
步骤J5:将数据结构唯一标识作为数据格式唯一标识、将数据值唯一标识作为数据行唯一标识,按照数据包的形式组织数据格式唯一标识、数据格式、数据行唯一标识及数据行,得到解析后的数据包。
进一步,数据打包的过程为:
读取数据包,顺次提取并记录数据格式唯一标识、数据格式信息、数据行唯一标识及数据行;
将数据格式唯一标识作为数据结构唯一标识、将数据行唯一标识作为数据值唯一标识,将数据格式转换为数据结构、数据行转换为数据值,按照数据文本文件的形式组织数据结构唯一标识、数据结构、数据值唯一标识及数据值,得到打包后的数据文本文件。
与现有技术相比,本发明至少可实现如下有益效果之一:
本发明提供的一种数据的双模式存储和同步方法,具备如下优势:
1、灵活应用文件模式和数据库模式应对特殊应用场合
根据数据的应用场合,可以自由选择使用两种存储模式之一,同时体现数据库存储和文件存储在实际运用中的优势,亦能同时避免二者的劣势。比如,需要数据分析的场合,启用数据的数据库存储模式;而平时携带、转移数据,使用数据的文件模式。
2、为数据提供了双重存储保险
双模式存储带来了数据冗余。从某种意义上来说,这正是数据的一种双重存储保险。文件模式存储的数据,可自由的拷贝、分散至独立的文件存储设备;数据库存储模式数据,又有数据的存储副本。无论哪种模式存储的数据发生了缺失,至少有另一种模式的数据可供还原。
3、同步***无需人工干涉完成数据同步工作
数据冗余的一个弊端是,当一部分数据发生变更时,冗余部分必须也要进行同样的变更,否则会造成数据的混乱。在本发明中,特地提供了同步***为数据的双模式存储进行的数据的自动同步工作,从而解决了数据变更中最关键的问题。
4、使用云文件***提供方便的文件模式应用
在同步***中,同步***对接数据的文件模式和数据库模式,分别提供了一个云文件***和基于数据库的表单***,用来存放两种模式数据,并保持二者之间的同步。
云文件***对于处理数据文本文件有着强大的功能:
(1)作为云文件***,便于数据文本文件提供者通过网络上传各自的文件;
(2)云文件***的文件管理功能可以很好的详细记录单条数据文本文件的上传时间、上传用户等元数据信息,确保数据的可追溯性。
(3)云文件***的文件安全性可以为文件的访问读取提供***级安全特性
(4)云文件***具备文件历史版本的记录功能,从而可实现数据库中一条数据的历史数据变化追溯功能(在数据库***中要实现同等功能,需要特地开发相对复杂的数据冗余存储功能,更不要说是“任意”的数据都具备历史追溯功能,其开发代价高昂)。
(5)云文件***中为打开数据文本文件提供了一种特有的展示方案:虽然数据是存储在文本文件中,但因为包含结构信息,云文件***可解析这种结构,将文件以“表单”的方式呈现,这样阅读单个文件时,更为直观。
5、使用基于数据库的表单***展示数据库中的数据具有强大的扩展性
(1)基于数据库的表单***,为数据文本文件中的数据对应数据库数据提供了可动态扩充的能力:
(2)数据文本文件中的数据只要遵循一定的格式规范,可描述不同结构的数据对象。表单***可根据结构的不同,自动地扩充数据库的存储结构,而无需为特定的结构数据单独进行程序开发。
(3)无需通过最终存储的数据库再进行单独开发来使用数据——表单***直接提供一种通用的数据表格模式来展示数据库中的数据,便于用户直接使用。除此之外,表单***甚至可以提供更多的通用展示方案来呈现数据。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为数据的双模式存储及同步***结构示意图;
图2为同步***工作示意图;
图3为数据文本文件和数据包的关联关系示意图;
图4为数据解析流程图;
图5为数据打包流程图;
图6为同步操作过程中文件***、同步***及表单***之间的交互示意图;
图7为数据的双模式存储及同步方法流程图;
图8为云文件***中新建数据文本文件的同步过程流程图;
图9为云文件***中编辑数据文本文件的同步过程流程图;
图10为云文件***中删除数据文本文件的同步过程流程图;
图11为表单***中***一条新数据的同步过程流程图;
图12为表单***中更新一条数据的同步过程流程图;
图13为表单***中删除一条新数据的同步过程流程图;
图14为同步***的同步操作下云文件***和表单***操作处理共性流程示意图;
图15为双模式存储中、文件存储模式可为数据库存储模式提供数据历史版本追溯能力的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明实施例公开了一种数据的双模式存储及同步方法,该方法基于相应的***实现,为便于行文,先介绍数据的双模式存储及同步***,结构示意图如图1所示,包括:
基于数据库的表单***,用于以数据库模式存储数据;
云文件***,用于以文件模式存储数据;
同步***,用于实现文件模式与数据库模式存储的数据之间的同步。
如图1所示,在数据的双模式存储及同步***中,将一条数据存储为数据库中的一条数据(对接表单***)、或者存储为云文件***中的一个独立数据文本文件后,两组数据均对接进入同步***,并在同步***中实现两种模式下所存储的数据之间的同步。此外,为便于用户操作,数据的双模式存储及同步***还可以为用户提供对应两种存储模式的用户操作界面,分别为:用于操作表单***的数据库操作界面,为用户提供数据表单形式的操作界面;用于操作云文件***的文件操作界面,可为用户提供文件形式的操作界面,操作过程中,可以以文件管理的方式打开数据文本文件,呈现为文件表单形式。
在本实施例中,同步***是实现整个方案的核心环节。通过进一步解析本实施例中的数据的双模式存储及同步***,可以看到更为详细的内涵。如图2所示,在同步***工作示意图中可看到下列要素:
1、云文件***及存储其中的数据文本文件
2、表单***及数据包
3、数据文本文件在云文件***中的文件操作:文件新建、文件编辑及文件删除操作
4、数据包中数据格式和数据行相关的数据库操作:创建表单、***数据、更新数据及删除数据;
5、同步***的三大工作流程:关联维护、数据解析与打包、同步操作
本实施例的详细实现方案将基于上述5条要素逐一阐述。首先,对云文件***、表单***及同步***的基本特征做如下介绍:
第一、云文件***
1、在云文件***中,一条数据存储为一个独立的数据文本文件,数据文本文件包括数据结构、数据结构唯一标识、匹配于数据结构的一条数据值及数据值唯一标识;其中,数据结构,用于以文本形式描述所述数据中的关键字段;数据结构唯一标识,用于唯一标识所述数据结构;数据值,用于以文本形式描述所述数据中关键字段的取值;数据值唯一标识,用于唯一标识所述数据值。注意,非空数据文本文件中必须包含数据结构,数据值可以为空,数据结构唯一标识和数据值唯一标识可以在文件新建过程中经由同步***的同步操作实现填充。
2、作为可共享的云文件空间,用户可以通过文件传输源将数据文本文件存入云文件***,或从云文件***中拷贝出数据文本文件。
3、作为可共享的云文件空间,云文件***具有一定的权限管理功能,可控制存储其上的数据文本文件具有“可见”(对特定用户可见/隐藏设定)、“可读”(对特定用户可读取设定)、“可写”(内容编辑,但不能修改文件的权限)、“可管理”(对特定用户具有全部权限)特性。需要强调的是,同步***在实现文件模式与数据库模式存储的数据之间的同步时,受限于云文件***对数据文本文件的权限管理功能。具体地,在云云文件***侧,只有满足权限管理功能的数据文本文件才能执行相应的文件操作;而在表单***侧,一条数据的权限管理功能为匹配于该数据的数据包关联的数据文本文件的权限管理功能,只有满足权限管理功能的数据才能执行相应的数据库操作;例如,如果某一数据文本文件不可写,那么,无法对其进行文件编辑。同样,若该数据文本文件文件与表单***中的一个数据包关联,则同样无法对表单***中匹配于该数据包的数据进行更新数据操作。因此,只有具备相应的权限管理功能的数据文本文件或数据包,才能进入到图8-13的同步流程。
4、具有文件历史版本记录功能。在在实现数据同步的过程中(如执行文件编辑、或者更新数据等操作时),表单***中的最新数据仅关联于云文件***中对应的数据文本文件的最新版本,该数据文本文件的历史版本仍存储在云文件***中。因此,编辑后的数据文本文件实际上是存储为新的数据文本文件副本,并沿袭旧版所有的权限设定,对历史版本进行“文件归档”。历史版本的保留数量可控。
5、具有“文件归档”功能。该功能是指表单***中的一条数据断开与一个数据文本文件的关联、转而与另一个数据文本文件关联后,会对原来关联的数据文本文件进行文件归档,即,将原来关联的数据文本文件从常规的文件管理中彻底隐藏,变成支持最新的数据文本文件内容展示的“附属数据”。归档后的历史版本的数据文本文件仍然可以通过特殊的操作单独取出,但无法再进行编辑和管理设置(用户权限足够也不能再改变),成为绝对的“只读”文件。
6、数据文本文件最终以ASCII码方式存储,以便于脱离本实施例中的同步环境后,数据文本文件仍具备一定的可用性。
7、数据文本文件需遵循设定的结构化文本规范,结构化文本规范可以使用XML、JSON等方法进行描述;本实施例对所遵循的结构化文本规范不做限定。但是,如果要实现对一条数据进行双模式存储和同步,这个结构化文本规范必须唯一确定,而不能多种规范混杂。
当数据文本文件存储在云文件***中时,云文件***和存储其中的数据文本文件均受到同步***的控制,具体体现在:
8、云文件***对数据文本文件的文件操作均受同步***监控;
9、数据文本文件的内容受同步***监控,从而实现数据解析与打包过程。
10、数据文本文件的存储受同步***监控,从而实现与表单***对应的数据包的关联维护功能。
以上功能特征,是实现同步***功能中对云文件***及数据文本文件的要求。在接下来的功能描述中,将会使用到以上功能特征。
注意,一个数据文本文件经由文件传输源复制到外部,离开同步***后,将不再受任何同步***限制,可以做各种编辑改变;但若想要编辑变化后重新复制回双模式存储及同步***,则要求其在外部的改变仍遵循双模式存储及同步***内的结构化文本规范以及数据文本文件的结构——如果不符合,则该文件不再是可用于同步处理的数据文本文件,在双模式存储及同步***中会被忽略同步处理。
第二、表单***
1、基于数据库源开发,所有产生和使用的表单数据均基于标准的数据库表创建和实现。
2、可在约定的结构化文本规范下创建各种新格式的表格。该结构化文本规范与云文件***中数据文本文件的结构化文本规范要求一致。
3、对各种格式的数据表单支持***数据、更新数据、删除数据等基本的数据库操作。
4、表单***中的表单模板由数据格式和若干条数据行组成;表单模板中的一条数据唯一对应一个数据包,数据包指表单模板中一条数据的全部内容:数据包包括数据格式、数据格式唯一标识、匹配于数据格式的一条数据行、以及数据行唯一标识;其中,数据格式,用于以表格形式描述所述数据中的关键字段;数据格式唯一标识,用于唯一标识所述数据格式,通过数据格式唯一标识,可以区分不同数据格式的数据;数据行,用于以表格形式描述所述数据中关键字段的取值;数据行唯一标识,用于唯一标识所述数据行,通过数据行唯一标识,可以区分相同数据格式下的不同数据行信息。基于上面描述可知,本质上讲,同一条数据体现在数据包与数据文本文件的内容一致,只是表现形式上有所区别,一个是表格形式、一个是文件形式。注意,非空数据包中必须包含数据格式,数据行可以为空,数据格式唯一标识和数据行唯一标识可以通过表单***实现填充。
第三、数据文本文件在云文件***中的文件操作
1、文件新建:包括两种方式:直接在云文件***中创建一条空的数据文本文件后立即手工填写数据并保存;或者,通过文件传输源复制而来的一个具有数据内容的数据文本文件;按照前述介绍,无论通过哪种方式进行文件新建,新建的数据文本文件中必须包含数据结构信息。
2、文件编辑:实质上是基于现有的数据文本文件生成新的数据文本文件副本,然后在新的数据文本文件副本中写入新的数据值并保存的过程。如果新的数据文本文件副本最终执行了保存,将在同步***中替代原数据文本文件与表单***中的相应数据包进行关联;原数据文本文件将进行“文件归档”操作,从而在云文件***中隐藏。
3、文件删除:实质上是将现有的数据文本文件直接进行“文件归档”,即在云文件***中隐藏。
第四、数据包中数据格式和数据行相关的创建表单、***数据、更新数据、删除数据
1、创建表单:根据数据包中的数据格式生成新的表单模板,并将该数据格式作为表单模板的数据格式,生成并记录数据格式唯一标识;
2、***数据:根据数据包中的数据行(无数据行唯一标识),在指定的表单模板中,创建一条新的数据行记录,生成并记录数据行唯一标识。
3、更新数据:根据数据包中的数据行(有数据行唯一标识),在指定的表单模板中,根据数据行唯一标识来更新一条已有的数据;
4、删除数据:根据数据包中的数据行(有数据行唯一标识),在指定的表单模板中,根据数据行唯一标识来删除一条已有的数据。
需要说明的是,考虑到表单***自身具备严格的格式要求,且通过表单***追加唯一标识的方式比较容易实现;而通过云文件***新建文件、或在新建文件中的添加一条数据值时,由于用户可能使用各种不同的文件编辑工具,未必能够方便的设置唯一标识。因此,在本实施例中,唯一标识只在表单***一侧生成,然后通过同步***同步至关联的数据文本文件中。示例性地,唯一标识可基于全球唯一标识方式生成。
第五、同步***的工作流程
同步***对相关数据文本文件和数据包的同步过程进行监控,主要包括以下三个自动化的工作流程:关联维护、数据解析与打包、同步操作。具体地:
1、关联维护
关联维护包括三个元操作:判断一个数据包是否是孤立,一个数据文本文件是否孤立,将一个数据包关联到一个数据文本文件;具体地,
将一个数据包关联到一个数据文本文件:通过设置从数据包发起的、指向数据文本文件的指针关系,将数据包关联到相应的数据文本文件;
数据包是否孤立的判断:若该数据包关联一个数据文本文件,则数据包不孤立;否则,数据包孤立;
数据文本文件是否孤立的判断:若存在一个数据包与该数据文本文件关联,则数据文本文件不孤立;否则,数据文本文件孤立;
关联维护的示意图如图3所示。在本实施例中,数据文本文件和数据包之间的关联关系,描述为从数据包发起的、指向数据文本文件的指针关系。示例性地,该指针为数据包关联的数据文本文件的存储物理路径;该存储物理路径直接存储于数据包中,或与数据包具备一一映射关系。一般情况下,建立关联关系的数据文本文件和数据包必须具备严格的对应关系:数据格式唯一标识与数据结构唯一标识一致、数据格式与数据结构一致、数据行与数据值一致、数据行唯一标识与数据值唯一标识一致。但是,在执行同步操作时,为简化操作过程,可能存在以下特殊情况:建立关联之初,数据包和数据文本文件二者之一为空,此时,同步***会首先设置从数据包发起的、指向数据文本文件的指针关系,建立二者之间的初步关联关系;接着,同步***通过数据解析或数据打包的操作,对为空的一方进行数据填充,最终使得建立关联关系的数据文本文件和数据包具备严格的对应关系。因此,从同步结果上看,建立关联关系的数据文本文件和数据包之间是具备严格对应关系的。
关联维护工作流程虽然简单,但却是整个双模式存储和同步过程的前提,重要度不言而喻。对于大部分文件操作和数据库操作,在数据解析与打包的工作流程中,参与其中的数据文本文件和数据包必须具备关联关系;在执行同步操作的工作流程中,更是对关联维护有着各种更加细节的要求。如果面临的是孤立的、不具备关联关系的数据文本文件或数据包,无法实现一条数据的双模式存储和同步。也就是说,如果没有特别的说明,本实施例中所提及的数据文本文件和数据包都是一一关联存在的,孤立的个体并不能实现数据的同步(但可能会实现其他一些功能效果,后文会说明时会特别指出)。
注意:一个数据包最多关联到一个数据文本文件。原因在于,在一个数据包已经关联到一个数据文本文件的前提下,执行“将一个数据包关联到另一个数据文本文件”的操作时,新关联的数据文本文件和原有关联的数据文本文件不一致,会导致原有关联的数据文本文件成为孤立的数据文本文件。
2、数据解析与打包
数据解析与打包建立在数据文本文件和数据包之间具备关联关系(存在两种情况:已经关联,或可以在数据解析与打包过程中实现关联)的前提下。如果数据文本文件或者数据包是孤立的,则无法执行数据解析与打包。根据同步***执行同步过程的方向不同,分为数据解析和数据打包;其中,
数据解析,以数据文本文件中的数据为准、同步到数据包中;示例性地,本实施例提供了一种同步***执行数据解析过程的方式,流程图如图4所示。具体过程描述如下:
步骤J1:读取数据文本文件中的数据结构唯一标识,判断是否含数据结构唯一标识(即图4中的“结构标识”),若含,则记录该数据结构唯一标识,然后跳转到J2;若不含,直接跳转到J2;
步骤J2:读取数据文本文件中的数据结构信息,并转换数据结构信息为数据格式;
步骤J3:读取数据文本文件中的数据值唯一标识,判断是否含数据值唯一标识(即图4中的“值标识”),若含,则记录数据值唯一标识,然后跳转到J4;若不含,直接跳转到J4;
步骤J4:读取数据文本文件中的数据值,并转换数据值为数据行;
步骤J5:将数据结构唯一标识作为数据格式唯一标识、将数据值唯一标识作为数据行唯一标识,按照数据包的形式组织数据格式唯一标识、数据格式、数据行唯一标识及数据行,得到解析后的数据包。
需要说明的是,在数据解析过程中,数据结构唯一标识和数据值唯一标识可能为空,此时其对应的数据格式唯一标识、数据行唯一标识也为空。
数据打包,以数据包中的数据为准、同步到数据文本文件中;示例性地,本实施例还提供了一种数据打包的方式,示意图如图5。具体过程描述如下:
步骤D1:读取数据包,顺次提取并记录数据格式唯一标识、数据格式信息、数据行唯一标识及数据行;
步骤D2:将数据格式唯一标识作为数据结构唯一标识、将数据行唯一标识作为数据值唯一标识,将数据格式转换为数据结构、数据行转换为数据值,按照数据文本文件的形式组织数据结构唯一标识、数据结构、数据值唯一标识及数据值,得到打包后的数据文本文件。
同样,在数据打包过程中,数据格式唯一标识和数据行唯一标识可能为空,此时其对应的数据结构唯一标识、数据值唯一标识也为空。
3、同步操作
同步操作是指,在同步***中,云文件***对数据文本文件进行文件操作时,同步***会为这些文件操作同步触发对应表单***中对数据包的数据操作,从而达到数据同步的效果;反之,表单***对数据包的数据操作也同样会反过来触发云文件***对数据文本文件进行文件操作。由此可知,云文件***中的文件操作、表单***中数据操作均可能触发于用户请求或者同步***。
需要说明的是,执行云文件***中的文件操作时,经由同步操作,可能会联动触发表单***中的数据操作。反之,执行表单***中的数据操作时,经由同步操作,可能会联动触发云文件***中的文件操作。从而造成循环调用。图6为同步操作过程中文件***、同步***及表单***之间的交互示意图。其中,第一幅图为联动中对相互触发操作的检查示意图,第二、三幅图为实际执行效果图。
因此,为了避免间接引发造成的调用循环,本实施例提出了如下数据的双模式存储及同步方法,流程图如图7所示,包括:
当云文件***和基于数据库的表单***中的一方接收到数据操作指令时,
执行数据操作指令中的数据操作,
并判断数据操作是否触发于用户请求,若是,还触发同步***执行同步操作:同步触发云文件***和表单***中的另一方执行同步于该数据操作的数据操作;
其中,所述表单***用于以数据库模式存储数据;所述云文件***用于以文件模式存储数据;所述同步***用于实现文件模式与数据库模式存储的数据之间的同步。
这里,云文件***中执行的数据操作为文件操作,表单***中执行的数据操作为数据库操作。需要说明的是,在上述数据同步过程中,若数据操作触发于用户请求,数据操作指令的接收方、同步方都先执行内存层面的数据操作,只有当双方的数据操作均完成后,才会在磁盘上执行实际的数据调整。从而保证云同步***和表单***中存储的数据之间的同步。还需要强调的是,所有在双模式存储及同步***中对云文件***、同步***、表单***的要求,同样适用于双模式存储及同步方法。
在具体实施过程中,考虑到表单***侧的数据操作更为简单、直接,因此,为保证云文件***与表单***的数据同步,也为提升双模式存储及同步***的运行效率;优选以下执行顺序:
若数据操作指令的接收方为云文件***,则先执行用户请求判断、然后执行相应的文件操作;若数据操作指令的接收方为表单***,则先执行相应的数据库操作,然后执行相应的用户请求判断;具体地:
云文件***在执行文件操作时,首先需要判断文件操作触发于用户请求还是触发于同步***,当文件操作触发于用户请求时,云文件***根据所述用户请求执行相应的文件操作;并由同步***执行同步操作:同步触发表单***对数据包执行相应的数据库操作;当所述文件操作触发于同步***时,云文件***直接执行相应的文件操作。
表单***在执行数据库操作时,先执行相应的数据库操作,再判断该数据库操作触发于用户请求还是触发于同步***,当该数据库操作触发于用户请求时,由同步***执行同步操作:同步触发云文件***对数据文本文件执行相应的文件操作;当该数据库操作触发于同步***时,表单***直接保存相应的数据库操作。
同步***的同步操作涉及前面介绍的关联维护、数据解析及数据打包。这些同步操作将通过下列流程图一一说明。
(1)云文件***-新建数据文本文件
在云文件***中新建数据文本文件的同步过程如图8所示;具体过程描述如下:
步骤YX1:云文件***接收文件新建指令,判断所述文件新建指令是否来自用户请求,
若是,根据文件新建指令新建数据文本文件、并存储在云文件***中;(这里的文件新建存在外部复制、人工填写两种情况,前面已做说明,此处不再赘述);跳转到步骤YX2;
若否,直接根据文件新建指令新建数据文本文件、并存储在云文件***中,新建数据文本文件完成;(这里的文件新建触发于同步***);
步骤YX2:同步***监控到云文件***中新建的数据文本文件,同步操作开始:
步骤YX21:控制表单***创建一个空数据包,并将该空数据包关联到该新建的数据文本文件;(关联过程参见关联维护);
步骤YX22:将该新建的数据文本文件解析为数据包,并将该数据包发送至表单***;(解析过程参见数据解析);
步骤YX3:表单***处理该数据包,根据数据包包含的内容执行相应的数据库操作,得到数据库操作结果;数据库操作结果为删除数据包,或,数据包已更新到表单***;
具体的执行过程描述为:
步骤YX31:基于该数据包填充创建的空数据包,得到解析后的数据包;
步骤YX32:读取解析后的数据包中的数据格式唯一标识和数据格式信息,获得相应的表单模板;具体地,
判断数据包中是否包含数据格式唯一标识(即图6中的“格式标识”),若包含,接着判断表单***中是否存储有与数据包的数据格式一致的表单模板,
若没有,则使用数据包中的数据格式唯一标识、数据格式创建新的表单模板;并跳转到步骤YX33;
若有,查询返回表单模板(已有格式标识),执行步骤YX33;
若不包含,则生成新的数据格式唯一标识,并使用新的数据格式唯一标识、数据包中的数据格式创建表单模板;并跳转到步骤YX33;
步骤YX33:获得表单模板后,判断表单模板是否匹配于数据包中的数据格式,若匹配,接着读取数据包中的数据行唯一标识和数据行信息,在表单模板中执行数据***或数据更新;若不匹配,删除数据包;并跳转到步骤YX6;
当表单模板匹配于数据包中的数据格式时,具体地,执行:
判断数据包中是否包含数据行唯一标识(即图6中的“数据行标识”),若包含,接着判断表单***中是否有匹配的数据行,
若没有,则使用给定的数据行唯一标识、数据包中的数据行信息,***一条新的数据;此时,执行更新一条数据后,数据包已更新到表单***;
若有,查询返回表单数据行(已有数据行标识),更新一条数据;此时,数据包已更新到表单***;
若不包含,则生成新的数据行唯一标识,并使用新的数据行唯一标识、数据包中的数据行信息,***一条新的数据;此时,执行更新一条数据后,数据包已更新到表单***;
步骤YX4:同步***监控到数据包已更新到表单***后,将更新后的数据包打包为数据文本文件后发送至云文件***;
步骤YX5:云文件***基于接收到的数据文本文件填充新建的数据文本文件,此时,该新建的数据文本文件为关联状态文件;新建数据文本文件完成;
步骤YX6:同步***监控到删除数据包后,向云文件***反馈数据不兼容报错;
步骤YX7:云文件***接收到数据不兼容报错后,将新建的数据文本文件作为孤立文本存储在云文件***中;新建数据文本文件完成。
由图8可见,云文件***中,“新建数据文本文件”的过程中,经由同步操作,可能会联动触发表单***中的“创建新的表单模版”、“***一条新数据”和“更新一条数据”操作。同样,“新建数据文本文件”过程可能是用户直接请求,也可能是表单***中其他操作进行时,由同步***执行同步操作时间接引发的。为了避免间接引发造成的调用循环,文件新建的一开始,首先要判断当前指令是否来自用户请求;如果不是,执行相应的文件操作即可。该分析过程间接印证了前面中进行用户请求判断的重要性。
需要强调的是,新建的数据文本文件中必须包含数据结构,数据值可以为空,也可以填写完整。如果数据值为空,那同步得到一个数据行为空的表单模板。
为便于本领域技术人员更好地理解本实施例中的方案,现做如下说明:在图8-图14的云文件***和表单***中,深色背景的方块才会执行“保存到磁盘”或“落实数据写入数据库”的动作;白色背景方块可以都理解为内存操作。此外,在图8-图14中的同步***中,深色背景的方块执行的操作与图3-图5中的相应内容保持一致。
(2)云文件***-编辑数据文本文件
在云文件***中编辑数据文本文件的同步过程如图9所示;具体过程描述如下:
步骤YB1:云文件***接收文件编辑指令,判断所述文件编辑指令是否来自用户请求,
若是,编辑数据文本文件执行;跳转到步骤YB2;
若否,直接根据文件编辑指令编辑数据文本文件、并存储在云文件***中,编辑数据文本文件完成;(这里的文件编辑触发于同步***);
步骤YB2:同步***监控到编辑数据文本文件执行时,同步操作开始:
判断待编辑的数据文本文件是否孤立,
若孤立,由云文件***任意编辑文件数据,得到编辑后的数据文本文件并存储在云文件***中,该数据文本文件为孤立文件;编辑数据文本文件完成;
若不孤立,同步***从表单***中获取关联于该数据文本文件的数据包,打包数据包为数据文本文件后发送至云文件***;(通过获取关联的数据包,能够保证云文件***中执行文件编辑的数据为表单***中存储的最新的数据,以保证二者处理数据的统一性)。
步骤YB3:云文件***基于接收到的数据文本文件生成待编辑的数据文本文件的副本,有限编辑数据文本文件副本数据,并将编辑后的数据文本文件存储在云文件***中;
步骤YB4:同步***将原数据包关联到编辑后的数据文本文件(关联后处于关联状态);解析编辑后的数据文本文件为数据包,并将该数据包发送给表单***;
步骤YB5:表单***根据接收到的数据包重新填充关联的数据包的数据行信息,查询返回表单数据行,根据已有数据行唯一标识及数据包的数据行信息,更新一条数据;此时,数据包已更新到表单***;
步骤YB6:同步***监控到数据包已更新到表单***后,向云文件***反馈同步操作完成;
步骤YB7:云文件***收到同步操作完成后,编辑后的数据文本文件为关联状态文件,编辑数据文本文件完成。
在图9的流程中需要特别说明两点:
1、数据文本文件(非孤立情况,孤立情况编辑不会联动表单***)的编辑,实际上是保持原数据文本文件不变,生成一个新的数据文本文件副本,在新的数据文本文件副本中执行数据修改、保存,然后重新将数据包关联到该副本的一个过程。这样的处理方式,在“将原数据包关联到新的数据文本文件副本”过程之后,实际上会产生一个孤立文件——即编辑之前的原始“数据文本文件”。这个文件孤立后不再参与同步***的同步,但可以很好的留下数据变更的一条历史记录(文件的历史版本),在特殊场合很有用。关于文件的历史版本,描述如下:(1)具有相同结构标识、值标识的所有数据文本文件,构成同一个数据包的历史版本记录;(2)只有与当前数据库中数据包关联的数据文本文件,才是所有历史版本记录中最新的一个;其他的根据文件的最后修改时间排序为不同版本。
2、“有限编辑数据文本文件数据”,其中,“有限编辑”是指用户编辑数据文本文件过程中,只能修改限定格式下的数据内容(即“数据值”)——就是说,该编辑操作不允许改动数据结构,也不能改动结构标识、数据值标识。因为是这样有限的编辑操作,所以表单***在相应更新数据表单内容时,无需再判断格式标识、格式匹配情况等信息,数据值标识也一定是存在的,所有的变化都集中在使用数据包中的“数据值”信息来对表单***“更新一条数据”即可。
在本实施例中,对数据文本文件的编辑的有限约束,也是云文件***针对此类型文件的一个特殊功能——如果脱离云文件***,数据文本文件在外界可能经由任意的改动,然后再存回本云文件***,那时候就不会是“文件编辑”的概念,而是再度执行“文件新建”的过程了。
(3)云文件***-删除数据文本文件
在云文件***中删除数据文本文件的同步过程如图10所示;具体过程描述如下:
步骤YS1:云文件***接收文件删除指令,判断所述文件删除指令是否来自用户请求,若是,删除数据文本文件执行;
若否,直接从云文件***中删除该数据文本文件,删除数据文本文件完成;
步骤YS2:同步***监控到删除数据文本文件执行时,同步操作开始:
判断待删除的数据文本文件是否孤立,
若孤立,同步操作完成;跳转到步骤YS4;
若不孤立,同步***控制表单***获取关联于该数据文本文件的数据包;
步骤YS3:表单***查询返回表单数据行,根据已有数据行标识删除一条数据;同步操作完成;
步骤YS4:同步***向云文件***反馈同步操作完成;
步骤YS5:云文件***接收到云文件***反馈同步操作完成后,删除待删除的数据文本文件,删除数据文本文件完成。
在云文件***中,有时可能出现一些特殊的文件操作的情况:
1、通过外部数据源拷贝一个数据文本文件到云文件***中时,新文件与一个已有数据文本文件会可能会出现文件重名现象。在这种情况下强制进行拷贝,会先执行“删除现存在云文件***中的文件”,然后再执行一次“新建数据文本文件”的过程。
2、通过外部数据源拷贝一个数据文本文件到云文件***中时,新文件与一个已有数据文本文件会可能会出现数据重复现象:即新数据文本文件内容与现存的数据文本文件记录的数据,具有相同数据结构、数据值标识的情况。在这种情况下,仍然是会按照“新建数据文本文件”的流程执行,但执行的效果,类似于“编辑数据文本文件”——执行后,新文件取代原有数据文本文件,与该标识的数据包建立关联;原有数据文本文件成为孤立文件存储在云文件***中,作为新数据文本文件的一个历史版本。
(4)表单***——***一条新数据
在表单***中***一条新数据的同步过程如图11所示;具体过程描述如下:
步骤BC1:在表单***中***一条新数据;具体地,
步骤BC11:获取***数据的目标表单的表单模板及数据格式唯一标识(即图11中的“数据格式标识”);
步骤BC12:在对应表单模板下新建一数据空行及数据行唯一标识(即图11中的“数据行标识”);
步骤BC13:在新建的数据空行中填写数据;
步骤BC2:判断***新数据的指令是否来自用户请求,
若是,将新建的数据记录为数据包;
若否,保存***的新数据,完成;
步骤BC3:同步***监控到该数据包后,同步操作开始:
步骤BC31:控制云文件***创建一个空内存数据文本文件;
步骤BC32:将数据包关联到空内存数据文本文件;
步骤BC33:数据包打包为数据文本文件,并将该数据文本文件发送给云文件***;
步骤BC4:云文件***基于数据文本文件内容填充空内存数据文本文件,完成新建数据文本文件;
步骤BC5:同步***监控到新建数据文本文件完成后,向表单***反馈同步操作完成;
步骤BC6:表单***收到同步操作完成后,保存***的新数据,完成。
这里,创建表格是隐含在***新数据过程中的。这样操作会极大的简化用户的使用感受,使创建表格的过程变得更自然:如果是已有格式数据,找到已有对应表格***;如果是新格式数据,创建表格后***,这样更顺滑。
(5)表单***——更新一条数据
在表单***中更新一条数据的同步过程如图12所示;具体过程描述如下:
步骤BG1:在表单***中更新一条数据;具体地,
步骤BG11:根据数据格式唯一标记及数据行唯一标识(对应图12中的“数据标识”)获取要更新的数据行;
步骤BG12:根据新的数据更新获取到的数据行;
步骤BG2:判断更新数据的指令是否来自用户请求,
若是,将更新的数据记录为数据包;
若否,保存更新的数据,完成;
步骤BG3:同步***监控到该数据包后,同步操作开始:
步骤BG31:控制云文件***创建一个空内存数据文本文件;
步骤BG32:将数据包关联到空内存数据文本文件;
步骤BG33:数据包打包为数据文本文件,并将该数据文本文件发送给云文件***;
步骤BG4:云文件***基于数据文本文件内容填充空内存数据文本文件,完成新建数据文本文件;
步骤BG5:同步***监控到新建数据文本文件完成后,向表单***反馈同步操作完成;
步骤BC6:表单***收到同步操作完成后,保存更新的数据,完成。
由图12可见,表单***中“更新一条数据”的过程中,经由同步操作,可能会联动触发云文件***中的“新建数据文本文件”操作。还可以看到,在指令是否来自用户直接请求判断成功后,表单更新一条数据后,经由同步***在云文件***中联动操作,实际上与“***一条新数据”的处理完全相同——也就是说,无论是***新数据还是更新原有数据,在云文件***中,事实上都是新建了一条与***或更新后数据一致关联的数据文本文件。参考图9有关云文件***中编辑数据文本文件的过程可以看到,这与此处过程的处理方式是一致的。
(6)表单***——删除一条数据
在表单***中删除一条数据的同步过程如图13所示;具体过程描述如下:
步骤BS1:根据数据格式唯一标记及数据行唯一标识(对应图13中的“数据标识”),获取要删除的数据行,并从表单***中删除该数据行;
步骤BS2:判断删除数据的指令是否来自用户请求,
若是,将获取到的数据记录为数据包;
若否,删除该数据,完成;
步骤BS3:同步***监控到该数据包后,同步操作开始:
判断数据包是否孤立,
若孤立,同步操作完成;跳转到步骤BS5;
若不孤立,同步***控制云文件***获取与该数据包关联的数据文本文件并删除;同步操作完成;
步骤BS4:同步***向表单***反馈同步操作完成;
步骤BS5;表单***接收到同步操作完成后,删除该数据,完成。
图13描述了表单***开始的“删除一条数据”的过程,如果该操作用户直接请求开始的,会经由同步***获取到将要删除的数据包所关联到的数据文本文件,在云文件***中执行“删除数据文本文件”的操作,然后完成表单***中对应数据的实际删除。
(7)云文件***和表单***同步操作的共性
前面描述的同步操作,有的来自于云文件***(表示通过文件操作的方式使用双模式数据),有的来自于表单***(表示通过数据库操作方式使用双模式数据)。由于同步***的存在,任意方式操作数据,均会引发另一种方式的自动同步过程。共性工作模式如图14所示。
当同步***的同步操作触发后,同步操作可能成功,也可能失败。不论成败,在同步操作完成后,回到启动同步***的***中的操作,该操作有两种可能:
如果同步操作失败,则自身操作也应该放弃执行。
即便同步操作失败(当然,同步操作成功更好),也需要完成自身操作。
特别声明:对于数据的编辑操作,在数据以文本文件模式存储的情景下,始终不直接修改原始数据文本文件,而是以创建新的文件副本记录最新修改数据,保持与数据库模式下存储的数据一致,称之为“增量文件存储”——将这这种方式保存的历史版本数据,作为常规数据库***中某一条数据的历史追溯依据的方法。如图15所示,数据A所在的表单***仅记录数据的最新版本,数据库自身不能进行一条数据的多历史版本追溯;但是,可间接通过其关联的数据A的文本文件的功能,实现历史版本追溯;即,数据A存储的文本文件,存储在同一云文本***中,具有相同的文件特征,可供进行修改时间、修改人等方面的历史检索。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种数据的双模式存储及同步方法,其特征在于,包括:
当云文件***和基于数据库的表单***中的一方接收到数据操作指令时,
执行数据操作指令中的数据操作,
并判断数据操作是否触发于用户请求,若是,还触发同步***执行同步操作:同步触发云文件***和表单***中的另一方执行同步于该数据操作的数据操作;
其中,所述表单***用于以数据库模式存储数据;所述云文件***用于以文件模式存储数据;所述同步***用于实现文件模式与数据库模式存储的数据之间的同步。
2.根据权利要求1所述的数据的双模式存储及同步方法,其特征在于,在云文件***中,一条数据存储为一个独立的数据文本文件,所述数据文本文件包括数据结构、数据结构唯一标识、匹配于数据结构的一条数据值及数据值唯一标识;其中,
数据结构,用于以文本形式描述所述数据中的关键字段;
数据结构唯一标识,用于唯一标识所述数据结构;
数据值,用于以文本形式描述所述数据中关键字段的取值;
数据值唯一标识,用于唯一标识所述数据值。
3.根据权利要求2所述的数据的双模式存储及同步方法,其特征在于,表单***中的表单模板由数据格式和若干条数据行组成;表单模板中的一条数据唯一对应一个数据包,数据包包括数据格式、数据格式唯一标识、匹配于数据格式的一条数据行、以及数据行唯一标识;其中,
数据格式,用于以表格形式描述所述数据中的关键字段;
数据格式唯一标识,用于唯一标识所述数据格式;
数据行,用于以表格形式描述所述数据中关键字段的取值;
数据行唯一标识,用于唯一标识所述数据行。
4.根据权利要求3所述的数据的双模式存储及同步方法,其特征在于,当所述数据操作指令为文件新建指令时,执行:
步骤YX1:云文件***接收文件新建指令,判断所述文件新建指令是否来自用户请求,
若是,根据文件新建指令新建数据文本文件、并存储在云文件***中;跳转到步骤YX2;
若否,直接根据文件新建指令新建数据文本文件、并存储在云文件***中,新建数据文本文件完成;
步骤YX2:同步***监控到云文件***中新建的数据文本文件,同步操作开始:
步骤YX21:控制表单***创建一个空数据包,并将该空数据包关联到该新建的数据文本文件;
步骤YX22:将该新建的数据文本文件解析为数据包,并将该数据包发送至表单***;
步骤YX3:表单***处理该数据包,根据数据包包含的内容执行相应的数据库操作,得到数据库操作结果;数据库操作结果为删除数据包,或,数据包已更新到表单***;
步骤YX4:同步***监控到数据包已更新到表单***后,将更新后的数据包打包为数据文本文件后发送至云文件***;
步骤YX5:云文件***基于接收到的数据文本文件填充新建的数据文本文件,此时,该新建的数据文本文件为关联状态文件;新建数据文本文件完成;
步骤YX6:同步***监控到删除数据包后,向云文件***反馈数据不兼容报错;
步骤YX7:云文件***接收到数据不兼容报错后,将新建的数据文本文件作为孤立文本存储在云文件***中;新建数据文本文件完成。
5.根据权利要求3所述的数据的双模式存储及同步方法,其特征在于,当所述数据操作指令为文件编辑指令时,执行:
步骤YB1:云文件***接收文件编辑指令,判断所述文件编辑指令是否来自用户请求,
若是,编辑数据文本文件执行;跳转到步骤YB2;
若否,直接根据文件编辑指令编辑数据文本文件、并存储在云文件***中,编辑数据文本文件完成;
步骤YB2:同步***监控到编辑数据文本文件执行时,同步操作开始:
判断待编辑的数据文本文件是否孤立,
若孤立,由云文件***任意编辑文件数据,得到编辑后的数据文本文件并存储在云文件***中,该数据文本文件为孤立文件;编辑数据文本文件完成;
若不孤立,同步***从表单***中获取关联于该数据文本文件的数据包,打包数据包为数据文本文件后发送至云文件***;
步骤YB3:云文件***基于接收到的数据文本文件生成待编辑的数据文本文件的副本,有限编辑数据文本文件副本数据,并将编辑后的数据文本文件存储在云文件***中;
步骤YB4:同步***将原数据包关联到编辑后的数据文本文件;解析编辑后的数据文本文件为数据包,并将该数据包发送给表单***;
步骤YB5:表单***根据接收到的数据包重新填充关联的数据包的数据行信息,并将数据包更新到表单***;
步骤YB6:同步***监控到数据包已更新到表单***后,向云文件***反馈同步操作完成;
步骤YB7:云文件***收到同步操作完成后,编辑后的数据文本文件为关联状态文件,编辑数据文本文件完成。
6.根据权利要求3所述的数据的双模式存储及同步方法,其特征在于,当所述数据操作指令为***一条新数据或更新一条数据时,执行:
在表单***中执行***一条新数据或更新一条数据;
判断该数据操作指令是否来自用户请求,
若是,将***的新数据或更新的数据记录为数据包;
若否,保存***的新数据或更新的数据,完成;
同步***监控到该数据包后,同步操作开始:
控制云文件***创建一个空内存数据文本文件;
将数据包关联到空内存数据文本文件;
数据包打包为数据文本文件,并将该数据文本文件发送给云文件***;
云文件***基于数据文本文件内容填充空内存数据文本文件,完成新建数据文本文件;
同步***监控到新建数据文本文件完成后,向表单***反馈同步操作完成;
表单***收到同步操作完成后,保存***的新数据或更新的数据,完成。
7.根据权利要求4-6所述的数据的双模式存储及同步方法,其特征在于,所述同步***执行同步操作时,执行以下一种或多种操作:
关联维护,包括三个元操作:判断一个数据包是否是孤立,一个数据文本文件是否孤立,将一个数据包关联到一个数据文本文件;
数据解析,以数据文本文件中的数据为准、同步到数据包中;
数据打包,以数据包中的数据为准、同步到数据文本文件中。
8.根据权利要求7所述的数据的双模式存储及同步方法,其特征在于,在所述关联维护中,
将一个数据包关联到一个数据文本文件:通过设置从数据包发起的、指向数据文本文件的指针关系,将数据包关联到相应的数据文本文件;
数据包是否孤立的判断:若该数据包关联一个数据文本文件,则数据包不孤立;否则,数据包孤立;
数据文本文件是否孤立的判断:若存在一个数据包与该数据文本文件关联,则数据文本文件不孤立;否则,数据文本文件孤立。
9.根据权利要求7所述的数据的双模式存储及同步方法,其特征在于,数据解析的过程为:
步骤J1:读取数据文本文件中的数据结构唯一标识,判断是否含数据结构唯一标识,若含,则记录该数据结构唯一标识,然后跳转到J2;若不含,直接跳转到J2;
步骤J2:读取数据文本文件中的数据结构信息,并转换数据结构信息为数据格式;
步骤J3:读取数据文本文件中的数据值唯一标识,判断是否含数据值唯一标识,若含,则记录数据值唯一标识,然后跳转到J4;若不含,直接跳转到J4;
步骤J4:读取数据文本文件中的数据值,并转换数据值为数据行;
步骤J5:将数据结构唯一标识作为数据格式唯一标识、将数据值唯一标识作为数据行唯一标识,按照数据包的形式组织数据格式唯一标识、数据格式、数据行唯一标识及数据行,得到解析后的数据包。
10.根据权利要求7所述的数据的双模式存储及同步方法,其特征在于,数据打包的过程为:
读取数据包,顺次提取并记录数据格式唯一标识、数据格式信息、数据行唯一标识及数据行;
将数据格式唯一标识作为数据结构唯一标识、将数据行唯一标识作为数据值唯一标识,将数据格式转换为数据结构、数据行转换为数据值,按照数据文本文件的形式组织数据结构唯一标识、数据结构、数据值唯一标识及数据值,得到打包后的数据文本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436401.8A CN114048178B (zh) | 2021-11-29 | 2021-11-29 | 一种数据的双模式存储及同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436401.8A CN114048178B (zh) | 2021-11-29 | 2021-11-29 | 一种数据的双模式存储及同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114048178A true CN114048178A (zh) | 2022-02-15 |
CN114048178B CN114048178B (zh) | 2022-07-26 |
Family
ID=80211678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436401.8A Active CN114048178B (zh) | 2021-11-29 | 2021-11-29 | 一种数据的双模式存储及同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048178B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066180A1 (en) * | 2010-09-10 | 2012-03-15 | Microsoft Corporation | File-backed in-memory structured storage for service synchronization |
CN105306556A (zh) * | 2015-09-30 | 2016-02-03 | 深圳市先河***技术有限公司 | 一种文件管理方法、服务器及网络附属存储设备 |
CN108170768A (zh) * | 2017-12-25 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 数据库同步方法、装置及可读介质 |
CN111309313A (zh) * | 2019-10-17 | 2020-06-19 | 天津大学 | 一种快速生成html以及存储表单数据的方法 |
CN111400326A (zh) * | 2020-02-28 | 2020-07-10 | 深圳市赛为智能股份有限公司 | 一种智慧城市数据管理***及其方法 |
CN111813742A (zh) * | 2020-06-29 | 2020-10-23 | 北京百度网讯科技有限公司 | 文件管理方法、装置、设备和介质 |
CN112231402A (zh) * | 2020-10-14 | 2021-01-15 | 广东亿迅科技有限公司 | 一种异构数据实时同步方法、装置、设备和存储介质 |
CN112286941A (zh) * | 2020-12-23 | 2021-01-29 | 武汉物易云通网络科技有限公司 | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 |
CN112380178A (zh) * | 2020-11-25 | 2021-02-19 | 北京明略软件***有限公司 | 文件存储与管理方法及*** |
CN113157808A (zh) * | 2021-04-27 | 2021-07-23 | 北京计算机技术及应用研究所 | 基于内存和轻量级数据库的配置文件同步***及方法 |
US20210365329A1 (en) * | 2020-05-19 | 2021-11-25 | EMC IP Holding Company LLC | Efficient synchronization of cloud enabled file system database during snapshot restore operation |
CN113704213A (zh) * | 2021-08-20 | 2021-11-26 | 辽宁振兴银行股份有限公司 | 一种基于sqlldr2和ogg数据同步的实现方法 |
-
2021
- 2021-11-29 CN CN202111436401.8A patent/CN114048178B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066180A1 (en) * | 2010-09-10 | 2012-03-15 | Microsoft Corporation | File-backed in-memory structured storage for service synchronization |
CN105306556A (zh) * | 2015-09-30 | 2016-02-03 | 深圳市先河***技术有限公司 | 一种文件管理方法、服务器及网络附属存储设备 |
CN108170768A (zh) * | 2017-12-25 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 数据库同步方法、装置及可读介质 |
CN111309313A (zh) * | 2019-10-17 | 2020-06-19 | 天津大学 | 一种快速生成html以及存储表单数据的方法 |
CN111400326A (zh) * | 2020-02-28 | 2020-07-10 | 深圳市赛为智能股份有限公司 | 一种智慧城市数据管理***及其方法 |
US20210365329A1 (en) * | 2020-05-19 | 2021-11-25 | EMC IP Holding Company LLC | Efficient synchronization of cloud enabled file system database during snapshot restore operation |
CN111813742A (zh) * | 2020-06-29 | 2020-10-23 | 北京百度网讯科技有限公司 | 文件管理方法、装置、设备和介质 |
CN112231402A (zh) * | 2020-10-14 | 2021-01-15 | 广东亿迅科技有限公司 | 一种异构数据实时同步方法、装置、设备和存储介质 |
CN112380178A (zh) * | 2020-11-25 | 2021-02-19 | 北京明略软件***有限公司 | 文件存储与管理方法及*** |
CN112286941A (zh) * | 2020-12-23 | 2021-01-29 | 武汉物易云通网络科技有限公司 | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 |
CN113157808A (zh) * | 2021-04-27 | 2021-07-23 | 北京计算机技术及应用研究所 | 基于内存和轻量级数据库的配置文件同步***及方法 |
CN113704213A (zh) * | 2021-08-20 | 2021-11-26 | 辽宁振兴银行股份有限公司 | 一种基于sqlldr2和ogg数据同步的实现方法 |
Non-Patent Citations (3)
Title |
---|
USELPA: "Keeping my database and file system in sync", 《HTTPS://STACKOVERFLOW.COM/QUESTIONS/15440172/KEEPING-MY-DATABASE-AND-FILE-SYSTEM-IN-SYNC》 * |
方诗伟: "基于HBase的医疗卫生数据中心构建与异构数据库同步研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
明亚晶: "不同数据库间实现数据同步的解决方案", 《数字石油和化工》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114048178B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7546533B2 (en) | Storage and utilization of slide presentation slides | |
US7493561B2 (en) | Storage and utilization of slide presentation slides | |
AU2005225130B2 (en) | Management and use of data in a computer-generated document | |
US7107527B2 (en) | Method and system for management of structured document and medium having processing program therefor | |
US8112396B2 (en) | Backup and recovery of integrated linked databases | |
CN104657382B (zh) | 用于MySQL主从服务器数据一致性检测的方法和装置 | |
CN100498763C (zh) | 一种使用应用程序处理数据的方法 | |
US20060294469A1 (en) | Storage and utilization of slide presentation slides | |
US20180075086A1 (en) | Asynchronous Shared Application Upgrade | |
US7523141B2 (en) | Synchronization operations involving entity identifiers | |
TWI388994B (zh) | 使用靜態列表以管理資料之系統及方法,以及具有可施行相同用途之電腦可執行元件的電腦可存取媒體 | |
US7720885B2 (en) | Generating a word-processing document from database content | |
CN110287192B (zh) | 搜索应用数据处理方法、装置、计算机设备和存储介质 | |
KR20060095448A (ko) | 데이터베이스 내부에 표현된 파일 시스템 | |
US20020091716A1 (en) | Replication system and program | |
CN109726192A (zh) | 基于大数据环境实现主数据模型版本与字段分开管理功能的***及方法 | |
JP2001306372A (ja) | 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 | |
CN114153659B (zh) | 一种数据的双模式存储及同步*** | |
CN114048178B (zh) | 一种数据的双模式存储及同步方法 | |
CN103180848B (zh) | 一种用于复制数据的***和方法 | |
Leone et al. | Concept and architecture of an pervasive document editing and managing system | |
CN106354704B (zh) | 一种基于语块的文档项目编辑*** | |
Curtis | Efficient control of assets in a modern production pipeline | |
Jones et al. | Islandora for archival access and discovery | |
Hsieh et al. | A method for web application data migration based on RESTful API: A case study of ezScrum |
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 |