首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 修改 / 一种数据同步方法、装置及系统

一种数据同步方法、装置及系统

阅读:896发布:2021-06-08

专利汇可以提供一种数据同步方法、装置及系统专利检索,专利查询,专利分析的服务。并且本 发明 的 实施例 提供一种数据同步方法、装置及系统,涉及存储领域,解决了 现有技术 中对于同步数据无法有效恢复或者存取同步数据时占用过多IO资源的问题。该方案包括:第一 节点 接收用户发起的数据 修改 指令,该数据修改指令至少包括待修改数据的表项标识;第一节点根据表项标识以及预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型;若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,第一重做日志中携带有用于指示表项类型的复制表项标签;第一节点将第一重做日志发送至第二节点,以使得第二节点根据复制表项标签和第一重做日志同步第二节点内复制表项的同步数据。,下面是一种数据同步方法、装置及系统专利的具体信息内容。

1.一种数据同步方法,其特征在于,包括:
第一节点接收用户发起的数据修改指令,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;
所述第一节点根据所述表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;
若所述数据修改指令的表项类型为用于存储同步数据的复制表项,所述第一节点则根据所述数据修改指令生成第一重做日志,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;
所述第一节点将所述第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据,所述第二节点为对所述第一节点的数据进行备份的节点;
在第一节点接收用户发起的数据修改指令之前,还包括:所述第一节点在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入所述第一节点的磁盘内的数据。
2.根据权利要求1所述的方法,其特征在于,所述第一节点中还设有用于存储普通数据的普通表项,其中,
在所述第一节点根据所述表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型之后,还包括:
若所述数据修改指令的表项类型为所述普通表项,所述第一节点则根据所述数据修改指令生成第二重做日志,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况;
所述第一节点根据所述普通表项标签获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘中。
3.根据权利要求2所述的方法,其特征在于,在所述第一节点则根据所述数据修改指令生成第二重做日志之后,还包括:
若所述第二重做日志丢失,所述第一节点则从所述磁盘中获取已存储的所述第二重做日志;
所述第一节点将所述第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述第一节点则根据所述数据修改指令生成第一重做日志之后,还包括:
若所述第一重做日志丢失,所述第一节点则获取所述第二节点发送的基线请求,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;
所述第一节点根据所述基线请求,将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
5.一种节点,其特征在于,所述节点中设有用于存储同步数据的复制表项,所述节点包括:
获取单元,用于接收用户发起的数据修改指令,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;
确定单元,用于根据所述获取单元中的表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;
日志生成单元,用于若所述确定单元中所述数据修改指令的表项类型为所述复制表项,则根据所述获取单元中的数据修改指令生成第一重做日志,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;
日志发送单元,用于将所述日志生成单元中的第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据,所述第二节点为对第一节点的数据进行备份的节点;
表项建立单元,用于在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入第一节点的磁盘内的数据。
6.根据权利要求5所述的节点,其特征在于,所述节点还包括日志提取单元,其中,所述日志生成单元,还用于若所述数据修改指令的表项类型为普通表项,则根据所述数据修改指令生成第二重做日志,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况,所述节点中还设有用于存储普通数据的普通表项;
所述日志提取单元,用于根据所述普通表项标签获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘中。
7.根据权利要求6所述的节点,其特征在于,
所述日志提取单元,还用于若所述第二重做日志丢失,则从所述磁盘中获取已存储的所述第二重做日志;
所述日志发送单元,还用于将所述第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
8.根据权利要求5至7中任一项所述节点,其特征在于,
所述获取单元,还用于若所述第一重做日志丢失,则获取所述第二节点发送的基线请求,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;
所述日志发送单元,还用于根据所述基线请求,将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
9.一种数据同步系统,其特征在于,所述系统包括如权利要求5至8中任一项所述的第一节点,以及对所述第一节点的数据进行备份的第二节点。
10.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至4中任一项所述的数据同步方法被实现。

说明书全文

一种数据同步方法、装置及系统

技术领域

[0001] 本发明涉及存储领域,尤其涉及一种数据同步方法、装置及系统。

背景技术

[0002] 结构化查询语言(structured query language,SQL)是一种内存数据库(memory database,MDB)查询和程序设计语言,主要用于存取数据以及查询、更新和管理内存数据库中的数据。
[0003] 具体的,可以使用SQL语句在内存数据库的各个节点内建立临时表和普通表,其中,临时表可用于存放一些临时任务的数据(如用户当前的计费时长等),当临时表的存储空间不足或者临时任务结束后,节点会清空临时表中的数据,而普通表则用于存放一些重要且稳定性高的数据(如用户的余额数据等,本申请将这类数据称为普通数据),为了保证普通表中数据的可靠性,节点需要将普通表中的普通数据通过IO接口写入磁盘进行持久化管理。
[0004] 进一步地,在节点将普通数据写入磁盘之前,还需要遵循WAL(write-ahead logging,预写式日志)原则生成普通表中发生变化的普通数据的重做日志(redo log),并将该重做日志发送至其他节点,其中,该重做日志用于描述普通表中的普通数据的修改信息,这样一来,其他节点就可以根据该重做日志对自身的普通表进行修改,以保证各个节点的普通表中所存放的普通数据的同步性和一致性,可避免某一节点发生故障时,该节点的普通表中的数据无法恢复的问题。
[0005] 然而,对于需经常参与内存数据库中的关系运算的数据或者用户的会话信息等数据来说,这类数据不要求写入磁盘进行持久化管理,但要求保证节点之间数据的一致性(本申请将这类数据统一称作同步数据),可见,如果将同步数据存放在临时表中,当节点清空临时表中的数据后,同步数据就无法恢复,如果将同步数据存放在普通表中,虽然可以从其他节点中恢复该同步数据,但是节点需要将普通表中的同步数据通过IO接口多次读写磁盘进行持久化管理,占用过多的IO资源,导致整个内存数据库中数据存取性能的下降。

发明内容

[0006] 本发明的实施例提供一种数据同步方法、装置及系统,解决了现有技术中对于同步数据无法有效恢复或者存取同步数据时占用过多IO资源的问题。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] 本发明的实施例提供一种数据同步方法,包括:
[0009] 第一节点接收用户发起的数据修改指令,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;
[0010] 所述第一节点根据所述表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;
[0011] 若所述数据修改指令的表项类型为用于存储同步数据的复制表项,所述第一节点则根据所述数据修改指令生成第一重做日志,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;
[0012] 所述第一节点将所述第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据,所述第二节点为对所述第一节点的数据进行备份的节点。
[0013] 结合第一方面,在第一方面的第一种可能的实现方式中,所述第一节点中还设有用于存储普通数据的普通表项,其中,
[0014] 在所述第一节点根据所述表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型之后,还包括:
[0015] 若所述数据修改指令的表项类型为所述普通表项,所述第一节点则根据所述数据修改指令生成第二重做日志,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况;
[0016] 所述第一节点根据普通表项标签获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘中。
[0017] 结合前述的第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述第一节点则根据所述数据修改指令生成第二重做日志以及所述第一节点则根据所述数据修改指令生成第一重做日志之后,还包括:
[0018] 若所述第二重做日志丢失,所述第一节点则从所述磁盘中获取已存储的所述第二重做日志;
[0019] 所述第一节点将所述第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
[0020] 结合第一方面或者前述的第一方面的第一至第二种可能的实现方式种的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述第一节点则根据所述数据修改指令生成第一重做日志之后,还包括:
[0021] 若所述第一重做日志丢失,所述第一节点则获取所述第二节点发送的基线请求,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;
[0022] 所述第一节点根据所述基线请求,将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
[0023] 结合第一方面或者前述的第一方面的第一至第三种可能的实现方式种的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,在第一节点接收用户发起的数据修改指令之前,还包括
[0024] 所述第一节点在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入所述第一节点的磁盘内的数据。
[0025] 第二方面,本发明的实施例提供一种节点,所述节点中设有用于存储同步数据的复制表项,所述节点包括:
[0026] 获取单元,用于接收用户发起的数据修改指令,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;
[0027] 确定单元,用于根据所述获取单元中的表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;
[0028] 日志生成单元,用于若所述确定单元中所述数据修改指令的表项类型为所述复制表项,则根据所述获取单元中的数据修改指令生成第一重做日志,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;
[0029] 日志发送单元,用于将所述日志生成单元中的第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据,所述第二节点为对所述第一节点的数据进行备份的节点。
[0030] 结合第二方面,在第二方面的第一种可能的实现方式中,所述节点还包括日志提取单元,其中,
[0031] 所述日志生成单元,还用于若所述数据修改指令的表项类型为所述普通表项,则根据所述数据修改指令生成第二重做日志,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况,所述节点中还设有用于存储普通数据的普通表项;
[0032] 所述日志提取单元,用于根据普通表项标签获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘中。
[0033] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
[0034] 所述日志提取单元,还用于若所述第二重做日志丢失,则从所述磁盘中获取已存储的所述第二重做日志;
[0035] 所述日志发送单元,还用于将所述第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
[0036] 结合第二方面或第二方面的第一至第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,
[0037] 所述获取单元,还用于若所述第一重做日志丢失,则获取所述第二节点发送的基线请求,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;
[0038] 所述日志发送单元,还用于根据所述基线请求,将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
[0039] 结合第二方面或第二方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述节点还包括:
[0040] 表项建立单元,用于在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入所述第一节点的磁盘内的数据。
[0041] 第三方面,本发明的实施例提供一种数据同步系统,其特征在于,所述系统包括如第二方面或第二方面的第一至第四种可能的实现方式中的任一种可能的实现方式中所述的第一节点,以及对所述第一节点的数据进行备份的第二节点。
[0042] 本发明的实施例提供一种数据同步方法、装置及系统,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。附图说明
[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明实施例提供的一种数据同步方法的流程示意图一;
[0045] 图2为本发明实施例提供的一种数据同步方法的流程示意图二;
[0046] 图3为一种CBS计费系统的架构示意图;
[0047] 图4为本发明实施例提供的一种数据同步方法的交互示意图;
[0048] 图5为本发明实施例提供的一种节点的硬件示意图;
[0049] 图6为本发明实施例提供的一种节点的结构示意图一;
[0050] 图7为本发明实施例提供的一种节点的结构示意图二;
[0051] 图8为本发明实施例提供的一种节点的结构示意图三;
[0052] 图9为本发明实施例提供的一种数据同步系统的架构示意图一;
[0053] 图10为本发明实施例提供的一种数据同步系统的架构示意图二。

具体实施方式

[0054] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0055] 实施例一
[0056] 本发明的实施例提供一种数据同步方法,所述方法应用于内存数据库中的各个节点,所述各个节点中均设有用于存储同步数据的复制表项,本实施例中以第一节点和第二节点为例进行详细阐述,如图1所示,包括:
[0057] 101、第一节点接收用户发起的数据修改指令,该数据修改指令至少包括待修改数据的表项标识。
[0058] 102、第一节点根据表项标识以及预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型。
[0059] 103、若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,该第一重做日志中携带有用于指示表项类型的复制表项标签,该第一重做日志用于指示复制表项中同步数据的变化情况。
[0060] 104、第一节点将第一重做日志发送至第二节点,以使得第二节点根据复制表项标签和第一重做日志同步第二节点内复制表项的同步数据。
[0061] 本发明实施例提供的一种数据同步方法,在各个节点内设有用于存储同步数据的复制表项,以第一节点为例,该第一节点内的同步数据可以指那些需要与第二节点同步且不需要写入第一节点的磁盘内的数据,例如用户的会话数据等,这些数据仅仅要求与其他节点中的普通表项进行同步,以防数据丢失,并不要求在本地节点中持久化管理。
[0062] 另外,各个节点内还可以设有用于存储普通数据的普通表项,该普通数据可以指那些既需要与第二节点同步,且又需要写入第一节点的磁盘内的数据,例如用户的余额信息等数据,这些数据既要求在本地节点中持久化管理,又要求与其他节点中的普通表项进行同步,以防数据丢失。
[0063] 具体的,由于复制表项本身是一种既需要与第二节点同步,且又需要写入第一节点的磁盘内的普通数据,因此,本发明中建立复制表项的方法可沿用现有技术中处理普通数据的方法,对此不做进一步阐述。可以看出,本发明添加了复制表项,专用于存储同步数据,相对与现有技术,本发明对数据的类别进行了细粒度的划分,因而可以对不同类别的数据进行精细的调度,提高了数据的处理效率且提高了数据资源的利用率。
[0064] 在步骤101中,当用户需要对第一节点内的数据进行修改时,向第一节点发起数据修改指令,该数据修改指令至少包括待修改数据的表项标识。应当理解的是,此处的修改数据可以是添加数据,删除数据或改动数据等,本发明对此不作限制。
[0065] 例如,用户使用SQL语句向第一节点下发数据修改指令,比如,Delete from talbeA where field1=“123”,其中,tableA可以作为该数据修改指令中的表项标识。
[0066] 在步骤102中,在接收到用户发起的数据修改指令之后,第一节点根据数据修改指令中的表项标识以及预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型。
[0067] 由于在每一张表项建立的时候,该表项的表项类型是确定的,因此,预置的表项标识与表项类型的对应关系可以如表1所示,当第一节点接收到用户发起的数据修改指令之后,根据表1就可以确定数据修改指令中的表项标识所对应的表项类型。
[0068] 表1
[0069]表项标识 表项类型
tableA 复制表项
tableB 普通表项
…… ……
[0070] 在步骤103中,若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,该第一重做日志中携带有用于指示表项类型的复制表项标签,该第一重做日志用于指示复制表项中同步数据的变化情况。
[0071] 具体的,若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,该第一重做日志可以记录用户在某个地址处将第一数据修改为第二数据,或者记录第一数据修改与第二数据的变化关系,同时,由于该数据修改指令的表项类型为复制表项,因此,第一节点可以在第一重做日志中添加复制表项标签。由于第一节点会将携带有复制表项标签的第一重做日志和携带有普通表项标签的第二重做日志都存储在日志缓冲区,因此,日志中添加各类表项标签可以使得第一节点区别属于不同表项的不同重做日志。
[0072] 进一步地,为保证数据修改的时序性,第一节点在根据数据修改指令生成第一重做日志之后,根据该数据修改指令对复制表项中的同步数据进行修改,这里的修改操作仍然是在缓存中完成的。而在现有技术中,由于节点内不设有复制表项,因此,需要同步的数据都存储在普通表项中,第一节点在根据数据修改指令生成重做日志时,将所有的同步日志都写入磁盘中,占用了大量IO资源,另外,在现有技术中,第一节点在根据数据修改指令生成重做日志之后,根据数据修改指令对普通表项中的普通数据进行修改,进而将修改后的普通数据再次写入磁盘中,可以看出,一些数据(例如同步数据)是完全不用写入磁盘进行本地持久化管理的,因此,会造成IO资源的大量浪费。
[0073] 在步骤104中,第一节点根据数据修改指令生成第一重做日志之后,无需将第一重做日志写入磁盘,便可直接将第一重做日志发送至第二节点,第二节点根据第一重做日志中的复制表项标签确定需要对第二节点的复制表项进行修改,因而第二节点进一步根据第一重做日志中所描述的复制表项中同步数据的变化情况,进行数据同步操作。
[0074] 本发明的实施例提供一种数据同步方法,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。
[0075] 实施例二
[0076] 本发明的实施例提供一种数据同步方法,所述方法应用于内存数据库中的各个节点,所述各个节点中均设有用于存储同步数据的复制表项,本实施例中以第一节点和第二节点为例进行详细阐述,如图2所示,包括:
[0077] 201、第一节点接收用户发起的数据修改指令,该数据修改指令至少包括待修改数据的表项标识。
[0078] 202、第一节点根据表项标识以及预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型。
[0079] 203a、若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志并存储在日志缓冲区。
[0080] 203b、若数据修改指令的表项类型为普通表项,第一节点则根据数据修改指令生成第二重做日志并存储在日志缓冲区。
[0081] 203c、第一节点根据数据修改指令对普通表项中的普通数据进行修改,并将修改后的普通数据写入磁盘。
[0082] 204、第一节点根据普通表项标签从日志缓冲区内复制第二重做日志,并将第二重做日志写入第一节点的磁盘中。
[0083] 205、第一节点将日志缓冲区内的第一重做日志或第二重做日志发送至第二节点,以使得第二节点根据第一重做日志或第二重做日志分别同步第二节点内复制表项的同步数据和普通表项的普通数据。
[0084] 本发明实施例提供的一种数据同步方法,在各个节点内设有用于存储同步数据的复制表项,以第一节点为例,该第一节点内的同步数据可以指那些需要与第二节点同步且不需要写入第一节点的磁盘内的数据,例如用户的会话数据等,这些数据仅仅要求与其他节点中的普通表项进行同步,以防数据丢失,并不要求在本地节点中持久化管理。
[0085] 另外,各个节点内还可以设有用于存储普通数据的普通表项,该普通数据可以指那些既需要与第二节点同步且,又需要写入第一节点的磁盘内的数据,例如用户的余额信息等数据,这些数据既要求在本地节点中持久化管理,又要求与其他节点中的普通表项进行同步,以防数据丢失。
[0086] 具体的,由于复制表项本身是一种既需要与第二节点同步,且又不需要写入第一节点的磁盘内的数据,因此,本发明中建立复制表项的方法可沿用现有技术中处理普通数据的方法,对此不做进一步阐述。可以看出,本发明添加了复制表项,专门用于存储同步数据,相对与现有技术,本发明对数据的类别进行了细粒度的划分,因而可以对不同类别的数据进行精细的调度,提高了数据的处理效率且提高了数据资源的利用率。
[0087] 在步骤201中,当用户需要对第一节点内的数据进行修改时,可使用SQL语句向第一节点发起数据修改指令,该数据修改指令至少包括待修改数据的表项标识。
[0088] 在步骤202中,在接收到用户发起的数据修改指令之后,第一节点根据数据修改指令中的表项标识以及预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型。
[0089] 由于在每一张表项建立的时候,该表项的表项类型是确定的,因此,预置的表项标识与表项类型的对应关系可以如表1所示,当第一节点接收到用户发起的数据修改指令之后,根据表1就可以确定数据修改指令中的表项标识所对应的表项类型。
[0090] 在执行完步骤202之后,若数据修改指令的表项类型为复制表项,则执行步骤203a,若数据修改指令的表项类型为普通表项,则执行步骤203b至203c。
[0091] 在步骤203a中,若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,该第一重做日志中携带有用于指示表项类型的复制表项标签,该第一重做日志用于指示复制表项中同步数据的变化情况。
[0092] 具体的,若数据修改指令的表项类型为复制表项,第一节点则根据数据修改指令生成第一重做日志,该第一重做日志可以记录用户在某个地址处将第一数据修改为第二数据,或者记录第一数据修改与第二数据的变化关系,同时,由于该数据修改指令的表项类型为复制表项,因此,第一节点可以在第一日志中添加复制表项标签。由于第一节点会将携带有复制表项标签的第一重做日志和携带有普通表项标签的第二重做日志都存储在日志缓冲区,因此,日志中添加各类表项标签可以使得第一节点区别属于不同表项的不同重做日志。
[0093] 进一步地,为保证数据修改的时序性,第一节点在根据数据修改指令生成第一重做日志之后,根据数据修改指令对复制表项中的同步数据进行修改,这里的修改操作仍然是在缓存中完成的。
[0094] 在步骤203b中,若数据修改指令的表项类型为普通表项,第一节点则根据数据修改指令生成第二重做日志并存储在日志缓冲区,该第二重做日志中携带有用于指示表项类型的普通表项标签,该第二重做日志用于指示普通表项中普通数据的变化情况。
[0095] 在步骤203c中,由于普通表项中的普通数据要求在本地进行持久化管理,因此,第一节点在根据数据修改指令生成第二重做日志之后,根据数据修改指令对普通表项中的普通数据进行修改,并将修改后的普通数据写入磁盘。
[0096] 可以看出,本发明的实施例将数据细粒度的划分为同步数据和普通数据,对仅要求节点之间的数据保持同步的同步数据不写入磁盘,直接生成第一重做日志存储在日志缓冲区。而对要求节点之间的数据保持同步且要求本地持久化管理的普通数据,既生成第二重做日志存储在日志缓冲区,同时将修改后的普通数据写入磁盘中,这样一来,避免了将各种类型的数据全部写入磁盘所带来的IO资源浪费。
[0097] 在步骤204中,由于第一重做日志和第二重做日志统一存储在日志缓冲区,而且,针对普通数据的第二日志需要写入磁盘做持久化管理,因此,第一节点根据第二重做日志中携带的普通表项标签从日志缓冲区内复制第二重做日志,并将第二重做日志写入第一节点的磁盘中。这样,避免了同时将第一重做日志和第二重做日志全部写入磁盘,所导致的IO资源浪费。
[0098] 在步骤205中,由于第一重做日志和第二重做日志统一存储在日志缓冲区,因此,第一节点可以将日志缓冲区内的第一重做日志和第二重做日志统一发送至第二节点,以使得第二节点根据第一重做日志中的复制表项标签和第二重做日志中的普通表项标签分别同步第二节点内复制表项的同步数据和普通表项的普通数据。
[0099] 其中,该日志缓冲区可以是第一节点内缓存的一部分,日志缓冲区可以将一段时间内分别获取到的第一重做日志和第二重做日志进行统一的保存,再周期性的以将日志缓冲区内的第一重做日志和第二重做日志统一发送至第二节点,当然,第一节点也有可能根据日志缓冲区的存储资源定时的向第二节点发送第一重做日志和第二重做日志。
[0100] 示例性的,本发明的实施例提供的数据同步方法可以应用在CBS(Convergent Billing System,融合计费系统)业务场景中,如图3所示,在CBS中包含多个宿主机(host),每个host中可以运行多个计费服务模,用于接收用户在使用计费业务中生成的计费指令,计费服务模块根据计费指令向内存数据库中的第一节点下发数据修改指令,比如,Delete from talbeA where field1=“999”(即:从talbeA表中删除field1字段为999的记录),由于talbeA表所对应的表项类型为复制表项,因此,第一节点根据该数据修改指令,在修改第一节点自身数据的同时,还需与第二节点进行数据同步,以保证第一节点和第二节点内的数据一致,此时,第一节点根据该数据修改指令生成第一重做日志并储存在日志缓存区,该第一重做日志用于描述tableA表中数据的变化关系,并直接将第一重做日志发送至第二节点,以使得第二节点修改其自身的tableA表中的相应数据,保证第一节点和第二节点内数据的一致性。
[0101] 可以看出,由于增加了对复制表项中同步数据的同步流程,对于只需要完成数据同步,而不需要进行本地磁盘备份的同步数据而言,第一节点无需像现有技术中处理普通表项中的普通数据一样进行多次磁盘写入操作,因此可以大大减少频繁的磁盘写入操作对数据库性能影响,经统计,在类似的CBS计费业务场景中,使用本发明提供的数据同步方法可以节约12%的成本和60%的磁阵开销。
[0102] 另外,在第一节点可以将日志缓冲区内的第一重做日志和第二重做日志统一发送至第二节点的过程中,可能会出现第一节点和第二节点之间网络闪断等异常情况,此时,日志缓冲区内的第一重做日志和第二重做日志可能会丢失。
[0103] 具体的,若第一重做日志丢失,第一节点可以继续向第二节点发送第二重做日志,以使得第二节点根据第二重做日志中的普通表项标签继续同步普通数据,以保证普通数据的同步不受到同步数据的影响,保证了普通数据的可靠性。
[0104] 若第二重做日志丢失,第一节点则从磁盘中获取已存储的第二重做日志;进而,第一节点将第二重做日志发送至第二节点,以使得第二节点根据第二重做日志中的普通表项标签继续同步第二节点内普通表项中的普通数据,以保证普通数据的可靠性。
[0105] 另外,若第一重做日志丢失,第一节点还可以获取第二节点发送的基线请求,基线请求用于指示对第一节点中的复制表项进行在线基线复制;第二节点在发送基线请求的T1时刻,同时清空日志缓存区的重做日志,此时,第一节点将自身的复制表项发送至第二节点,以使得第二节点将第二节点内的复制表项替换为第一节点发送的复制表项。当异常情况排除后的T2时刻,第一节点可以继续生成第一重做日志和第二重做日志并发送至第二节点,以使得第二节点继续根据第一重做日志和第二重做日志进行数据同步。
[0106] 具体的,参见图4,当第一重做日志丢失,第二节点无法正常接收到第一节点发送的第一重做日志,此时,第二节点内的MDB(memory database,内存数据库)服务模块向第一节点发起基线请求,同时清空第二节点内日志缓存区的重做日志,第一节点在t1时刻接收到该基线请求,并将自身的复制表项中t1时刻之前的数据全量发送至第二节点的MDB服务模块进行数据同步,当第二节点在t2时刻完成数据同步后,第一节点将t1至t2时刻接收到的第一重做日志和/或第二重做日志发送给第二节点,以使得第二节点继续根据第一重做日志和/或第二重做日志继续进行增量数据同步,当第二节点再次无法正常接收到第一节点发送的第一重做日志时,可重复上述步骤以保证第一节点与第二节点的数据同步。
[0107] 本发明的实施例提供一种数据同步方法,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。
[0108] 实施例三
[0109] 如图5所示,为本发明的实施例提供一种节点的硬件示意图。
[0110] 该节点可以为内存数据库的各个节点中的任一个(设该节点为第一节点),各个节点中均设有用于存储同步数据的复制表项,该同步数据为需要与第二节点同步且不需要写入第一节点的磁盘内的数据。另外,各个节点中还设有用于存储普通数据的普通表项,该普通数据为既需要与第二节点同步,又需要写入第一节点的磁盘内的数据。
[0111] 如图5,所述第一节点包括处理器11、收发器12、缓存13、磁盘14以及总线15。
[0112] 其中,处理器11、收发器12、缓存13和磁盘14通过总线15通信连接。
[0113] 处理器11,是所述第一节点的控制中心,处理器11通过对收发器12接收到的数据进行处理,并调用缓存13或者磁盘14中的软件或程序,执行所述第一节点的各项功能。
[0114] 通信接口12,可以由光收发器,电收发器,无线收发器或其任意组合实现。例如,光收发器可以是小封装可插拔(英文:small form-factor pluggable transceiver,缩写:SFP)收发器(英文:transceiver),增强小封装可插拔(英文:enhanced small form-factor pluggable,缩写:SFP+)收发器或10吉比特小封装可插拔(英文:10Gigabit small form-factor pluggable,缩写:XFP)收发器。电收发器可以是以太网(英文:Ethernet)网络接口控制器(英文:network interface controller,缩写:NIC)。无线收发器可以是无线网络接口控制器(英文:wireless network interface controller,缩写:WNIC)。第一节点可以有多个通信接口12。
[0115] 缓存13,是具有极快的存取速率,它是硬盘14内部存储和外界接口之间的缓冲器。由于硬盘14的内部数据传输速率和外界介面传输速率不同,缓存13在其中起到一个缓冲的作用。缓存13的大小与速率是直接关系到硬盘14的传输速率的重要因素,能够大幅度地提高硬盘14整体性能。为了提高计算机的工作效率,处理器11可以先将数据写入缓存13中,在定期的将缓存13中的数据刷新至磁盘14内,或者定期的将缓存13中的数据进行更新以提高数据的处理速度。
[0116] 磁盘14,是计算机硬件的一个重要部件,其作用是存放指令和数据,相较于缓存13,磁盘14的存储容量大大提高,具有容量大且存储数据的稳定性较高,但磁盘14的读写速度远远不如缓存14的读写速度。另外,在数据库系统中,从缓存13中向磁盘14内写日志和写数据文件是数据库中IO消耗最大的两种操作,因此,磁盘14的成本较于缓存13而言十分昂贵。
[0117] 具体的,在本发明的实施例中,通信接口12接收用户发起的数据修改指令并发送至处理器11,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;处理器11根据所述表项标识以及缓存13中预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;若所述数据修改指令的表项类型为所述复制表项,处理器11则根据所述数据修改指令生成第一重做日志存储在缓存13中,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;处理器11通过通信接口12将所述第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据。
[0118] 进一步地,所述第一节点中还设有用于存储普通数据的普通表项,其中,在处理器11根据所述表项标识以及缓存13中预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型之后,还可以包括步骤:若所述数据修改指令的表项类型为所述普通表项,处理器11则根据所述数据修改指令生成第二重做日志存储在缓存13中,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况;处理器11根据普通表项标签从缓存13中获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘14中。
[0119] 进一步地,在处理器11则根据所述数据修改指令生成第一重作日志和第二重做日志存储在缓存13之后,若所述第二重做日志丢失,处理器11则从所述磁盘14中获取已存储的所述第二重做日志;处理器11通过通信接口12将所述第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
[0120] 进一步地,在处理器11则根据所述数据修改指令生成第一重作日志和第二重做日志存储在缓存13之后,若所述第一重做日志丢失,通信接口12则获取所述第二节点发送的基线请求并发送至处理器11,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;处理器11根据所述基线请求,通过通信接口12将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
[0121] 进一步地,在通信接口12接收用户发起的数据修改指令并发送至处理器11之前,处理器11根据用户的建立表项指令在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入所述第一节点的磁盘14内的数据。
[0122] 本发明的实施例提供一种节点,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。
[0123] 实施例四
[0124] 本发明的实施例提供一种节点,如图6所示,包括:
[0125] 获取单元21,用于接收用户发起的数据修改指令,所述数据修改指令至少包括待修改数据的表项标识,所述表项标识用于指示所述待修改数据所属的表项类型;
[0126] 确定单元22,用于根据所述获取单元21中的表项标识以及预置的表项标识与表项类型的对应关系,确定所述数据修改指令的表项类型;
[0127] 日志生成单元23,用于若所述确定单元22中所述数据修改指令的表项类型为所述复制表项,则根据所述获取单元21中的数据修改指令生成第一重做日志,所述第一重做日志中携带有用于指示表项类型的复制表项标签,所述第一重做日志用于指示复制表项中同步数据的变化情况;
[0128] 日志发送单元24,用于将所述日志生成单元23中的第一重做日志发送至第二节点,以使得所述第二节点根据所述复制表项标签和所述第一重做日志同步第二节点内复制表项的同步数据,所述第二节点为对所述第一节点的数据进行备份的节点。
[0129] 进一步地,如图7所示,所述节点还包括日志提取单元25,其中,[0130] 所述日志生成单元23,还用于若所述数据修改指令的表项类型为所述普通表项,则根据所述数据修改指令生成第二重做日志,所述第二重做日志中携带有用于指示表项类型的普通表项标签,所述第二重做日志用于指示普通表项中普通数据的变化情况,所述第一节点中还设有用于存储普通数据的普通表项;
[0131] 所述日志提取单元25,用于根据所述日志生成单元23中的普通表项标签获取所述第二重做日志,并将所述第二重做日志写入所述第一节点的磁盘中。
[0132] 进一步地,所述日志提取单元25,还用于若所述第二重做日志丢失,则从所述磁盘中获取已存储的所述第二重做日志;
[0133] 所述日志发送单元24,还用于将所述日志提取单元25中的第二重做日志发送至所述第二节点,以使得所述第二节点根据所述第二重做日志中的普通表项标签和所述第二重做日志同步第二节点内普通表项中的普通数据。
[0134] 进一步地,所述获取单元21,还用于若所述第一重做日志丢失,则获取所述第二节点发送的基线请求,所述基线请求用于指示对所述第一节点中的复制表项进行在线基线复制;
[0135] 所述日志发送单元24,还用于根据所述获取单元21中的基线请求,将所述第一节点中的复制表项发送至所述第二节点,以使得所述第二节点将所述第二节点内的复制表项替换为所述第一节点发送的复制表项。
[0136] 进一步地,如图8所示,所述节点还包括:
[0137] 表项建立单元26,用于在所述第一节点内建立所述复制表项,所述复制表项用于存储携带有表项标识为复制表项的同步数据,所述同步数据为需要与所述第二节点同步且不需要写入所述第一节点的磁盘内的数据。
[0138] 本发明的实施例提供一种节点,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。
[0139] 实施例五
[0140] 本发明的实施例提供一种数据同步系统,如图9所示,包括如实施例三或实施例四中所述的第一节点31,以及与所述第一节点相连的第二节点32,该第二节点32用于对第一节点31的数据进行备份。
[0141] 参见图10,以及上述实施例中第一节点31与第二节点32交互的方法,该数据同步系统中的第一节点31和第二节点32中都包括缓存和磁盘,该缓存内存储有复制表项、普通表项以及日志缓存区。
[0142] 具体的,第一节点31接收用户发起的数据修改指令,该数据修改指令至少包括待修改数据的表项标识,该表项标识用于指示待修改数据所属的表项类型;第一节点31根据表项标识以及缓存中预置的表项标识与表项类型的对应关系,确定数据修改指令的表项类型;若数据修改指令的表项类型为复制表项,第一节点31则根据数据修改指令生成第一重做日志存储在日志缓存区,第一重做日志中携带有用于指示表项类型的复制表项标签,第一重做日志用于指示复制表项中同步数据的变化情况;进而,第一节点31将日志缓存区的第一重做日志发送至第二节点32,以使得第二节点32根据第一重做日志同步第二节点32内复制表项的同步数据。
[0143] 相应的,若数据修改指令的表项类型为普通表项,第一节点31则根据数据修改指令生成第二重做日志存储在日志缓存区,第二重做日志中携带有用于指示表项类型的普通表项标签,第二重做日志用于指示普通表项中普通数据的变化情况;然后,第一节点31根据普通表项标签在日志缓存区获取第二重做日志,并将第二重做日志写入第一节点31的磁盘中,同时,第一节点31还可以将日志缓存区的第二重做日志发送至第二节点32,以使得第二节点32根据第二重做日志同步第二节点32内普通表项的普通数据。
[0144] 进一步的,如图10所示,该缓存内还可以存储用于临时任务的数据的临时表项,由于这些数据的稳定性较低,因此,这些数据既不要求写入磁盘,也不要求与第二节点32进行同步。若数据修改指令的表项类型为临时表项,第一节点31则根据数据修改指令生直接修改临时表项内的数据即可。
[0145] 本发明的实施例提供一种数据同步系统,在各个节点内设有用于存储同步数据的复制表项,因此,当第一节点接收到用户发起的数据修改指令后,根据数据修改指令中的表项标识确定数据修改指令的表项类型,若数据修改指令的表项类型为该复制表项,第一节点则直接生成携带有复制表项标签的第一重做日志,并发送至第二节点以使得第二节点根据第一重做日志进行数据同步,在上述过程中,由于确定了数据修改指令的表项类型为该复制表项,因此,无需像现有技术中在处理针对普通表的数据修改指令时,既需要生成重做日志,还需要将修改后的数据写入磁盘,进而造成IO资源的浪费,也避免现有技术中处理针对临时表的数据修改指令时,不能生成重作日志,进而无法与第二节点的数据同步的问题,同时,由于第一节点在生成的第一重做日志携带有复制表项标签,因此,第一节点可以直接提取携带有复制表项标签的第一重做日志发送给第二节点,以便第二节点根据第一重做日志进行数据同步,避免了现有技术中由于不区分表项标签而导致第一节点对所有重做日志都写入磁盘,占用过多IO资源的问题。
[0146] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0147] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0148] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0149] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0150] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0151] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
相关专利内容
标题 发布/更新时间 阅读量
修改分析流 2020-05-11 493
修改对象的基层 2020-05-12 643
业务流修改流程 2020-05-13 464
修改比特流 2020-05-12 133
一种面型修改油 2020-05-13 559
已修改流同步 2020-05-13 954
百叶修改器 2020-05-12 789
修改图表 2020-05-11 515
声学信号修改 2020-05-12 755
修改颜色色域 2020-05-13 448
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈