一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据维护方法及装置与流程

2022-02-22 22:36:29 来源:中国专利 TAG:


1.本技术涉及数据存储领域,具体涉及一种数据维护方法及装置。


背景技术:

2.每一个使用广泛的应用,例如某些即时通讯应用等,都需要大型数据存储系统支持其运作;这些大型数据存储系统往往包括多个数据存储实体,这些数据存储实体往往用于存储不同类型的数据,例如在一些即时通讯应用的数据存储系统中,数据存储系统包括不同存储类型的多个数据存储实体,一些数据存储实体需要存储用户的姓名等信息,另外一些数据存储实体需要存储用户的朋友圈动态等信息,而又有一些数据存储实体需要存储用户所有的信息,这些数据存储实体在进行数据维护,例如新增数据时,不同数据存储实体之间往往需要执行不同的操作。
3.针对均需要进行数据维护操作的多个数据存储实体,先对这些数据存储实体进行分类,以一个具有全领域字段的数据存储实体为主,其他数据存储实体为辅。当有写操作时,优先对主实体进行更新或插入操作,然后通过同步脚本等方式将数据的变动同步到其他数据存储实体中,或者通过异步队列的形式对其他辅数据实体进行更新等操作。
4.上述数据维护方法至少存在问题:当只有两个数据存储实体需要互相同步的时候,上述方案可以较好的完成同步的任务,但当存在多个数据存储实体的时候,每一次主数据存储实体的更新/插入操作,都必须通过同步脚本或队列的方式,依次对其他的辅数据存储实体进行数据同步操作,这些同步操作都是遍历其他数据存储实体来依次进行的,其中任一个数据存储实体的数据同步出了问题,都会造成整体同步的失败。另外,如果后续继续添加新的数据存储实体,那么就需要修改整个同步操作流程,增加新的数据存储实体的同步逻辑,增加了维护成本和出错概率。
5.申请内容
6.本技术实施例提供一种数据维护方法及装置,以至少解决现有数据维护技术在对数据存储实体的数据进行维护时存在的需要对数据存储实体进行历遍的技术问题。
7.为解决上述技术问题,本技术实施例提供以下技术方案:
8.本技术实施例提供一种数据维护方法,其应用于数据事件中心,所述数据维护方法包括:
9.获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置;
10.解析所述数据维护请求,得到待维护数据以及维护操作类型;
11.构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
12.广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的
数据进行维护。
13.本技术实施例提供一种数据维护方法,其应用于数据存储实体,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置,所述数据维护方法包括:
14.监听来自数据事件中心的数据维护广播;
15.根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
16.解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
17.根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
18.本技术实施例提供一种数据维护方法,其应用于数据调度实体,所述数据维护方法包括:
19.接收触发请求,所述触发请求携带维护操作类型;
20.根据所述维护操作类型确定待维护数据;
21.生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
22.发送所述数据维护请求至数据事件中心。
23.本技术实施例提供一种数据维护方法,其包括:
24.数据调度实体接收携带维护操作类型的触发请求,根据所述维护操作类型确定待维护数据,生成携带所述待维护数据以及所述维护操作类型的数据维护请求,发送所述数据维护请求至数据事件中心;
25.数据事件中心解析所述数据维护请求,得到待维护数据以及维护操作类型,构建携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识的数据维护广播,广播所述数据维护广播;
26.数据存储实体监听数据维护广播,根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播,解析所述待响应数据维护广播,得到维护操作类型以及待维护数据,根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
27.本技术实施例提供一种数据维护装置,其应用于数据事件中心,所述数据维护装置包括:
28.获取模块,用于获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置;
29.第一解析模块,用于解析所述数据维护请求,得到待维护数据以及维护操作类型;
30.构建模块,用于构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
31.广播模块,用于广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护。
32.进一步的,第一解析模块具体用于:对所述数据维护请求进行解析,得到类型字段内容和数据字段内容;根据所述类型字段内容确定所述维护操作类型;根据所述数据字段内容确定待维护数据。
33.进一步的,构建模块具体用于:获取数据存储实体的订阅信息;根据所述订阅信息以及所述待维护数据,确定所述待维护数据的订阅标识;基于广播模板,生成所述数据维护广播。
34.进一步的,构建模块具体用于实现以下方式中的一种:获取预设的订阅标识的表示方式,所述表示方式包括数据类型标识和/或数据存储实体标识;根据所述待维护数据的数据类型标识以及订阅所述待维护数据的数据存储实体标识中的至少一种,生成所述待维护数据的订阅标识。
35.进一步的,所述数据维护装置还包括:订阅管理模块,用于获取来自数据存储实体的订阅请求,所述订阅请求携带所述数据存储实体存储的数据内容;解析所述订阅请求,根据所述数据内容得到并存储所述数据存储实体的订阅信息;向所述数据存储实体发送订阅成功响应。
36.本技术实施例提供一种数据维护装置,其应用于数据存储实体,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置,所述数据维护装置包括:
37.监听模块,用于监听来自数据事件中心的数据维护广播;
38.筛选模块,用于根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
39.第二解析模块,用于解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
40.维护模块,用于根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
41.进一步的,所述数据维护装置还包括:订阅模块,用于向所述数据事件中心发送携带数据内容的订阅请求;在接收到所述数据存储实体发送的订阅成功响应之后,触发监听模块511监听数据维护广播。
42.进一步的,维护模块具体用于实现以下方式中的至少一种:在所述维护操作类型为插入时,将所述待维护数据插入数据库;或者在所述维护操作类型为修改时,将数据库中所述待维护数据对应的数据修改为所述待维护数据;或者在所述维护操作类型为更新时,判断数据库中是否存在所述待维护数据对应的数据,若存在,则将数据库中所述待维护数据对应的数据更新为所述待维护数据,若不存在,将所述待维护数据插入数据库;或者在所述维护操作类型为对账时,判断数据库中所述待维护数据对应的数据与所述待维护数据是否一致,若不一致,则将数据库中所述待维护数据对应的数据更新为所述待维护数据。
43.本技术实施例提供一种数据维护装置,其应用于数据调度实体,所述数据维护装置包括:
44.接收模块,用于接收触发请求,所述触发请求携带维护操作类型;
45.确定模块,用于根据所述维护操作类型确定待维护数据;
46.生成模块,用于生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
47.发送模块,用于发送所述数据维护请求至所述数据事件中心。
48.进一步的,确定模块具体用于实现以下方式中的一种:在所述维护操作类型为插
入、修改、更新中的一种时,解析所述触发请求得到所述待维护数据;或者在所述维护操作类型为对账时,从基准数据存储实体中逐条获取数据作为所述待维护数据。
49.进一步的,生成模块在所述生成数据维护请求之前,还用于:在所述维护操作类型为插入、修改、更新中的一种时,生成基准数据维护请求;发送所述基准数据维护请求至基准数据存储实体,以触发所述基准数据存储实体对数据库内的数据执行所述维护操作类型对应的维护操作;在接收到所述基准数据存储实体返回的操作成功响应后,生成数据维护请求。
50.本技术实施例提供一种计算机设备,其包括处理器和存储器,存储器存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。
51.本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。
52.本技术实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中的步骤。
53.本技术实施例提供了一种新的数据维护方法及装置,该方法在数据存储系统中引入数据事件中心,该数据事件中心获取来自数据调度实体的数据维护请求,解析所述数据维护请求,得到待维护数据以及维护操作类型,构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识,广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护;在进行数据维护时,数据调度实体与数据存储实体之间通过数据事件中心进行数据维护,数据事件中心根据数据维护请求生成广播,数据存储实体基于其订阅的广播完成数据维护,在整个过程中,数据事件中心不需要知晓这些数据存储实体的存在,只需要发出广播,各个数据存储实体接收到广播后,即可进行自行对内部数据进行维护,可以有效解决多个数据存储实体的数据同步问题,并具有很好的扩展性,方便继续添加新的数据存储实体的同步逻辑,解决了现有数据维护技术在对数据存储实体的数据进行维护时存在的需要对数据存储实体进行历遍的技术问题。
附图说明
54.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1a是本技术实施例提供的数据维护方法的场景示意图。
56.图1b是本技术实施例提供的数据存储系统的组网示意图。
57.图2是本技术实施例提供的数据维护方法的流程示意图。
58.图3a至图3c是本技术实施例提供的数据维护方法的具体流程示意图。
59.图4是本技术实施例提供的数据维护方法的场景流程示意图。
60.图5a至图5c是本技术实施例提供的数据维护装置的结构示意图。
61.图6是本技术实施例提供的计算机设备的结构示意图。
具体实施方式
62.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
63.在本技术实施例中,如图1a所示,数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置,数据库可以是各种类型的数据库。
64.具体的,数据库(db,database),又称为数据管理系统,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作,所谓数据库是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。通常意义上的数据库,指信息化中的数据存储载体,在本文中,db主要指关系型数据库。关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
65.缓存型key-value数据库是指存储在计算机缓存中,依靠key-value的形式来存储的一种数据库,其查询某条记录是,以关键词key为索引条件,value即为存储数据的实体,由于存储在缓存中,读写性能相比存储在硬盘中的数据库便有了极大地提升。
66.在图1a中,数据存储系统包括数据调度实体101、数据事件中心102以及多个数据存储实体103;不同的数据访问方通过数据调度实体101来访问某领域下的数据,由于访问的场景不同,该领域下的数据被存储于不同的数据存储实体103中,如复杂查询的场景需要数据存储于关系型数据库(db)中,不同子领域的数据或者查询条件不同的高频访问场景需要数据存储于不同的缓存key-value数据库(kv)中,这些数据存储实体中实际上存的都是同一个领域的数据,互相的数据可能存在冗余,需要保证数据的整体一致性。为例便于下文说明,以某种用户广泛使用的即时通讯应用为例,用户的个人信息中的教育背景等信息可以存储在数据库db1中,个人信息中的信用评分等信息可以存储在数据库db2中,这些信息需要复杂的查询;用户的标识,例如账号等信息存储在数据库kva中,用户的朋友圈动态等信息存储在数据库kvb中,这些信息被高频利用;数据库db0作为基准数据存储实体,存储用户所有的数据。
67.基于图1a,在本技术实施例中,数据维护场景可以包括各种场景,例如包括数据调用、数据新增插入、数据修改、数据更新、数据对账等;其中,数据调用是指外部服务调用数据存储实体内存储的数据,该操作不会导致数据库内数据的变化,本技术不进行具体描述;数据新增插入可以是用户新发布一个动态,也可以是新用户注册等;数据修改可以是用户修改教育背景信息,评估系统修改用户信用评分等;数据更新可以包括数据插入、数据修改等;数据对账是由数据存储系统周期性的触发的,基于数据库db0内的数据对其他数据库内
的数据进行对比修正等操作,以保证所有数据库内的数据一致。
68.请参阅图1b,图1b为本技术实施例所提供的数据存储系统的场景示意图,该系统可以包括用户侧设备以及服务侧设备,用户侧设备与服务侧设备通过各种网关组成的互联网等方式连接,不再赘述,其中,用户侧设备包括多个终端11,服务侧设备包括多个服务器12;其中:
69.终端11包括但不局限于手机、平板等便携终端,以及电脑、查询机、广告机等固定终端,是用户可以使用并操作的服务端口,在本技术中,终端为用户提供数据查询、数据修改、数据新增、注册等各种功能;为便于下文说明,将终端11定义为平台终端11a和用户终端11b,平台终端11a用于设置运维人员手动触发数据库的对账等,而用户终端11b则用于用户注册等等;
70.服务器12为用户提供各种业务服务或者服务支持,包括业务服务器12a、存储服务器12b等,其中,业务服务器12a用于提供某信等即时通讯服务等各种服务,存储服务器12b用于提供数据存储服务,为其他业务进行数据支持等。在本技术中,存储服务器12b可以采用分布式服务器实现,其至少具备图1a所示的数据存储系统。
71.需要说明的是,图1a和图1b所示的系统场景示意图仅仅是一个示例,本技术实施例描述的服务器以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
72.图2是本技术实施例提供的数据维护方法的流程示意图,请参阅图2,该数据维护方法在整个系统上的体现,包括以下步骤:
73.201:数据调度实体接收携带维护操作类型的触发请求,根据所述维护操作类型确定待维护数据,生成携带所述待维护数据以及所述维护操作类型的数据维护请求,发送所述数据维护请求至数据事件中心。
74.202:数据事件中心解析所述数据维护请求,得到待维护数据以及维护操作类型,构建携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识的数据维护广播,广播所述数据维护广播。
75.203:数据存储实体监听数据维护广播,根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播,解析所述待响应数据维护广播,得到维护操作类型以及待维护数据,根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
76.本实施例涉及的各步骤的具体实现在下文进行描述。
77.本实施例提供了一种数据维护方法,该方法在数据存储系统中引入数据事件中心,该数据事件中心获取来自数据调度实体的数据维护请求,解析所述数据维护请求,得到待维护数据以及维护操作类型,构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识,广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护;在进行数据维护时,数据调度实体与数据存储实体之间通过数据事件中心进行数据维护,数据事件中心根据数据维护请求生成广播,数据存储实体基于其订阅的广播完成数据维护,在整个过程中,数据事件中心不需要知晓这些数据存储实体的存在,只需要发出广播,各个数据存储实体接收到广播
后,即可进行自行对内部数据进行维护,可以有效解决多个数据存储实体的数据同步问题,并具有很好的扩展性,方便继续添加新的数据存储实体的同步逻辑,解决了现有数据维护技术在对数据存储实体的数据进行维护时存在的需要对数据存储实体进行历遍的技术问题。
78.在图2所示实施例对本技术提供的数据维护方法在系统的整体体现进行了描述的基础上,现结合附图对图2中各步骤的具体体现进行描述。
79.图3a是本技术实施例提供的数据维护方法的一种具体流程示意图,其具体体现了本技术的方法在数据事件中心102的体现,请参阅图3a,该数据维护方法包括以下步骤:
80.301:获取来自数据调度实体的数据维护请求。
81.在一种实施例中,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置。
82.302:解析所述数据维护请求,得到待维护数据以及维护操作类型。
83.在一种实施例中,本步骤包括:对所述数据维护请求进行解析,得到类型字段内容和数据字段内容;根据所述类型字段内容确定所述维护操作类型;根据所述数据字段内容确定待维护数据。
84.在一种实施例中,待维护数据是需要维护的数据,例如用户修改后的教育背景等、用户新发布的朋友圈动态等。
85.在一种实施例中,所述根据所述类型字段内容确定所述维护操作类型的步骤,包括以下方式中的一种:在所述类型字段内容为插入时,将所述维护操作类型确定为插入;或者在所述类型字段内容为修改时,将所述维护操作类型确定为修改;或者在所述类型字段内容为更新时,将所述维护操作类型确定为更新;或者在所述类型字段内容为对账时,将所述维护操作类型确定为对账。
86.303:构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识。
87.在一种实施例中,本步骤包括:获取数据存储实体的订阅信息;根据所述订阅信息以及所述待维护数据,确定所述待维护数据的订阅标识;基于广播模板,生成所述数据维护广播。
88.在一种实施例中,所述根据所述订阅信息以及所述待维护数据,确定所述待维护数据的订阅标识的步骤,包括以下方式中的一种:获取预设的订阅标识的表示方式,所述表示方式包括数据类型标识和/或数据存储实体标识;根据所述待维护数据的数据类型标识以及订阅所述待维护数据的数据存储实体标识中的至少一种,生成所述待维护数据的订阅标识。
89.在一种实施例中,订阅信息主要包括数据存储实体的标识或者订阅的数据类型,例如某数据存储实体订阅了朋友圈动态的数据。在一种实施例中,可以将该数据存储实体的标识b作为订阅标识,若用户发布了一个新朋友圈动态,则将这个新的动态数据的订阅标识设置为b,这样该数据存储实体可以基于标识b确定这个广播是其订阅的广播。或者,可以将该数据的数据类型标识c作为订阅标识,若用户发布了一个新朋友圈动态,则将这个新的动态数据的订阅标识设置为c,这样该数据存储实体可以基于标识c确定这个广播是其订阅
的广播。
90.304:广播所述数据维护广播。
91.在一种实施例中,广播的方式可以是各种各样的。
92.在一种实施例中,基于数据维护广播,可以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护。
93.在一种实施例中,当存在新的数据存储实体建立时,数据事件中心需要根据这些数据存储实体完成广告订阅,此时,图3a所示的数据维护方法还包括:获取来自数据存储实体的订阅请求,所述订阅请求携带所述数据存储实体存储的数据内容;解析所述订阅请求,根据所述数据内容得到并存储所述数据存储实体的订阅信息;向所述数据存储实体发送订阅成功响应。
94.图3b是本技术实施例提供的数据维护方法的另一种具体流程示意图,其具体体现了本技术的方法在数据存储实体103的体现,请参阅图3b,该数据维护方法包括以下步骤:
95.311:监听来自数据事件中心的数据维护广播。
96.312:根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播。
97.在一种实施例中,例如当前数据存储实体订阅了数据类型为朋友圈动态的待维护数据,在存储服务器中,朋友圈动态的数据为数据类型a,则该实体基于广播中是否包含字段a对广播进行筛选,若广播中包含了字段a,则作为待响应数据维护广播。
98.313:解析所述待响应数据维护广播,得到维护操作类型以及待维护数据。
99.314:根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
100.在一种实施例中,本步骤包括以下方式中的至少一种:在所述维护操作类型为插入时,将所述待维护数据插入数据库;或者在所述维护操作类型为修改时,将数据库中所述待维护数据对应的数据修改为所述待维护数据;或者在所述维护操作类型为更新时,判断数据库中是否存在所述待维护数据对应的数据,若存在,则将数据库中所述待维护数据对应的数据更新为所述待维护数据,若不存在,将所述待维护数据插入数据库;或者在所述维护操作类型为对账时,判断数据库中所述待维护数据对应的数据与所述待维护数据是否一致,若不一致,则将数据库中所述待维护数据对应的数据更新为所述待维护数据。
101.在一种实施例中,当新的数据存储实体建立之后时,需要完成广告订阅,此时,图3b所示的数据维护方法还包括:向所述数据事件中心发送携带数据内容的订阅请求;在接收到所述数据存储实体发送的订阅成功响应之后,监听数据维护广播。
102.图3c是本技术实施例提供的数据维护方法的又一种具体流程示意图,其具体体现了本技术的方法在数据调度实体101的体现,请参阅图3c,该数据维护方法包括以下步骤:
103.321:接收触发请求,所述触发请求携带维护操作类型。
104.在一种实施例中,触发请求可以由图1a中的数据请求方发起,例如用户发布了一个新朋友圈动态,可以由业务服务器作为数据请求方发起该用户的朋友圈动态的数据插入请求,后面完成数据的插入等。
105.322:根据所述维护操作类型确定待维护数据。
106.在一种实施例中,本步骤包括以下方式中的一种:在所述维护操作类型为插入、修改、更新中的一种时,解析所述触发请求得到所述待维护数据;或者在所述维护操作类型为
对账时,从基准数据存储实体中逐条获取数据作为所述待维护数据。
107.323:生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型。
108.324:发送所述数据维护请求至数据事件中心。
109.在一种实施例中,基于基准数据存储实体,可以保证数据存储的准确性,此时,图3c所示的方法在所述生成数据维护请求的步骤之前,还包括:在所述维护操作类型为插入、修改、更新中的一种时,生成基准数据维护请求;发送所述基准数据维护请求至基准数据存储实体,以触发所述基准数据存储实体对数据库内的数据执行所述维护操作类型对应的维护操作;在接收到所述基准数据存储实体返回的操作成功响应后,生成数据维护请求。
110.在图3a至图3c所示的实施例的基础上,当有更新数据的请求到达数据调用实体时,将更新请求加入到数据事件中心中去。数据事件中心会将这一更新事件通过广播发布出去。而各个数据存储实体会订阅该事件中心的广播,当接收到有数据更新的广播后,获取待更新的数据,对自己的数据存储实体中存储的数据进行更新即可。在这种模式下,多个数据存储实体之间不需要知晓对方的存在,也不需要一个统一的数据更新服务来依次更新每一个数据存储实体。当有新的数据存储实体被添加时,只需要为其订阅该数据事件中心,并配置其自己关注的数据内容,即可完成新数据存储实体的数据同步操作。
111.在一种实施例中,数据更新可以既包含已有记录的更新操作(即修改操作),也包含新纪录的插入操作,不论是哪种操作,都需要先经过数据事件中心,发布数据更新的广播通知,然后再被各个数据存储实体接收并同步。
112.在一种实施例中,本技术为了进一步保障数据的一致性,增加了一个包含本领域所有字段的数据存储实体,称为基准数据存储实体db0,该实体代表了本领域数据的标准。
113.在此基础上,当执行数据更新操作的时候,在将请求传入事件中心前,可以先对基准数据存储实体中的数据进行更新,并确保更新成功后再传入事件中心;当执行数据插入操作的时候,在将请求传入事件中心前,可以先对基准数据存储实体中进行插入操作,确保数据插入成功后再传入事件中心。
114.在更新某些数据时,具体操作流程可以包括:
115.a)先更新基准数据存储实体的数据,如果失败则直接返回,成功则进行下一步。
116.b)将待更新的数据传入数据事件中心。
117.c)数据事件中心发布更新广播。
118.d)订阅了更新广播的数据存储实体获取待更新数据,对自身数据进行更新。
119.在插入某些数据时,具体操作流程可以包括:
120.a)先对基准数据存储实体进行插入操作,如果失败则直接返回,成功则进行下一步。
121.b)将待插入的数据传入数据事件中心。
122.c)数据事件中心发布更新广播。
123.d)订阅了更新广播的数据存储实体获取待插入数据,插入到自身实体中。
124.通过这种方式,可以保证至少有一个数据存储实体,存储了本领域的所有字段的最新数据与最全的记录。这样,在后期进行数据对账(由于无法彻底避免数据更新失败的情况,因此仍需要数据对账)来确保数据的最终一致性时,可以依托于该基准数据存储实体的
数据,来对其他数据存储实体的数据进行最终对账。
125.在对账时,具体操作流程可以包括:
126.a)遍历基准数据存储实体中的每条记录,获取其所有字段的数据。
127.b)将该记录的所有数据传入数据事件中心。
128.c)数据事件中心发布对账广播。
129.d)订阅了对账广播的数据存储实体获取基准数据存储实体的数据,在自身实体中查找对应的数据记录。
130.e)如果不存在该记录,则插入该记录到自身实体中。
131.f)如果存在该记录但数据不一致,则以基准数据存储实体的数据来更新自身实体的数据。
132.g)如果存在该记录且数据一致,则跳过。
133.现结合图4,以一个具体的应用场景对本技术的方法做诠释说明。
134.在图4所示的实施例中,应用场景为某信,用户的数据包括:教育背景、信用评分、账号、朋友圈动态等;其中,教育背景等信息可以存储在数据库db1中,信用评分等信息可以存储在数据库db2中,账号等信息存储在数据库kva中,朋友圈动态等信息存储在数据库kvb中,并且这些数据都全部的对应的存储在数据库db0中。在本场景中,假定数据库kvb为新建立的数据库。
135.如图4所示,本技术提供的方法包括以下步骤:
136.步骤401:kvb在数据事件中心订阅朋友圈动态数据。
137.kvb在建立之后进行初始化等测试,通过测试之后,向数据事件中心订阅包括朋友圈动态数据的广播。
138.具体的,kvb向所述数据事件中心发送携带数据内容的订阅请求,该请求用于订阅朋友圈动态数据,假定朋友圈动态数据的数据类型为d;此时数据事件中心获取来自数据存储实体的订阅请求,所述订阅请求携带所述数据存储实体存储的数据内容,解析所述订阅请求,根据所述数据内容得到并存储所述数据存储实体的订阅信息,例如订阅信息为数据类型d的数据,之后向所述数据存储实体发送订阅成功响应;kvb在接收到所述数据存储实体发送的订阅成功响应之后,监听数据维护广播。其他数据存储实体的订阅流程与其类似。
139.步骤402至407:新用户注册,并存储对应的信息。
140.用户使用终端11a注册了一个某新账号,其填写的所有数据包括:教育背景和账号;业务服务器将教育背景和账号发送给数据调用实体,数据调用实体将其写入基准数据存储实体db0,并在写入成功之后,发送数据维护请求至数据事件中心,此时,该请求包括:维护操作类型为插入,待维护数据为教育背景和账号;数据事件中心基于此,生成2个广播,第一个广播的维护操作类型为插入,待维护数据为教育背景,被数据库db1响应,第二个广播的维护操作类型为插入,待维护数据为账号,被数据库kva响应;数据库db1和数据库kva在响应广播之后,完成数据的插入维护。
141.步骤408至411:业务服务器进行信用评估,得到用户的信用评分,并进行存储。
142.业务服务为用户进行信用评估,得到该用户的信用评分,将信用评分发送给数据调用实体,数据调用实体将其写入基准数据存储实体db0,并在写入成功之后,发送数据维护请求至数据事件中心,此时,该请求包括:维护操作类型为插入,待维护数据为信用评分;
数据事件中心基于此,生成1个广播,即第三个广播的维护操作类型为插入,待维护数据为信用评分,被数据库db2响应,数据库db2在响应广播之后,完成数据的插入维护。
143.步骤412至416:用户发布朋友圈动态。
144.用户使用终端11a发布了一个朋友圈动态,业务服务器将朋友圈动态发送给数据调用实体,数据调用实体将其写入基准数据存储实体db0,并在写入成功之后,发送数据维护请求至数据事件中心,此时,该请求包括:维护操作类型为插入,待维护数据为朋友圈动态;数据事件中心基于此,生成1个广播,即第四个广播的维护操作类型为插入,待维护数据为朋友圈动态,被数据库kvb响应;数据库kvb在响应广播之后,完成数据插入维护。
145.步骤417至423:业务服务器触发对账。
146.在某个固定周期或者后台人员的触发下,业务服务器触发数据对账,此时,业务服务器将对账操作发送给数据调用实体,数据调用实体从基准数据存储实体db0获取用户的所有数据,包括:教育背景、信用评分、账号、朋友圈动态之后,发送数据维护请求至数据事件中心,此时,该请求包括:维护操作类型为对账,待维护数据为教育背景、信用评分、账号、朋友圈动态;数据事件中心基于此,生成4个广播,即:第五个广播的维护操作类型为对账,待维护数据为教育背景,被数据库db1响应,第六个广播的维护操作类型为对账,待维护数据为信用评分,被数据库db2响应,第七个广播的维护操作类型为对账,待维护数据为账号,被数据库kva响应,第八个广播的维护操作类型为对账,待维护数据为朋友圈动态,被数据库kvb响应;数据库db1、数据库db2、数据库kva、数据库kvb在响应广播之后,完成数据的对账维护。
147.数据的修改维护与数据的插入维护类型类似,不再赘述。
148.图4所示实施例提供的方法,在使用同步脚本或异步更新队列皆无法较好地应对多数据存储实体间数据同步问题的情况下,可以高效、准确地对同领域下的多个数据存储实体中的数据进行更新同步,并且可以方便地进行新数据存储实体的接入,极大地提升了数据同步的效率,减少数据同步的错误率,更好地为复杂的多种业务数据访问场景提供准确实时的数据基础。
149.为了实现上述的方法,本技术还提供了对应的数据维护装置,现结合附图对本技术提供的数据维护装置进行说明。
150.相应的,图5a是本技术实施例提供的数据维护装置的一种结构示意图,其具体体现了本技术的装置在数据事件中心102的体现,请参阅图5a,该数据维护装置包括以下模块:
151.获取模块501,用于获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置;
152.第一解析模块502,用于解析所述数据维护请求,得到待维护数据以及维护操作类型;
153.构建模块503,用于构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
154.广播模块504,用于广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护
数据对数据库内的数据进行维护。
155.在一种实施例,第一解析模块502具体用于:对所述数据维护请求进行解析,得到类型字段内容和数据字段内容;根据所述类型字段内容确定所述维护操作类型;根据所述数据字段内容确定待维护数据。
156.在一种实施例,第一解析模块502具体用于实现以下方式中的一种:在所述类型字段内容为插入时,将所述维护操作类型确定为插入;或者在所述类型字段内容为修改时,将所述维护操作类型确定为修改;或者在所述类型字段内容为更新时,将所述维护操作类型确定为更新;或者在所述类型字段内容为对账时,将所述维护操作类型确定为对账。
157.在一种实施例,构建模块503具体用于:获取数据存储实体的订阅信息;根据所述订阅信息以及所述待维护数据,确定所述待维护数据的订阅标识;基于广播模板,生成所述数据维护广播。
158.在一种实施例,构建模块503具体用于实现以下方式中的一种:获取预设的订阅标识的表示方式,所述表示方式包括数据类型标识和/或数据存储实体标识;根据所述待维护数据的数据类型标识以及订阅所述待维护数据的数据存储实体标识中的至少一种,生成所述待维护数据的订阅标识。
159.在一种实施例,如图5a所示,该数据维护装置还包括:订阅管理模块505,用于获取来自数据存储实体的订阅请求,所述订阅请求携带所述数据存储实体存储的数据内容;解析所述订阅请求,根据所述数据内容得到并存储所述数据存储实体的订阅信息;向所述数据存储实体发送订阅成功响应。
160.相应的,图5b是本技术实施例提供的数据维护装置的另一种结构示意图,其具体体现了本技术的装置在数据存储实体103的体现,请参阅图5b,该数据维护装置包括以下模块:
161.监听模块511,用于监听来自数据事件中心的数据维护广播;
162.筛选模块512,用于根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
163.第二解析模块513,用于解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
164.维护模块514,用于根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
165.在一种实施例,如图5b所示,该数据维护装置还包括:订阅模块515,用于向所述数据事件中心发送携带数据内容的订阅请求;在接收到所述数据存储实体发送的订阅成功响应之后,触发监听模块511监听数据维护广播。
166.在一种实施例,维护模块514具体用于实现以下方式中的至少一种:在所述维护操作类型为插入时,将所述待维护数据插入数据库;或者在所述维护操作类型为修改时,将数据库中所述待维护数据对应的数据修改为所述待维护数据;或者在所述维护操作类型为更新时,判断数据库中是否存在所述待维护数据对应的数据,若存在,则将数据库中所述待维护数据对应的数据更新为所述待维护数据,若不存在,将所述待维护数据插入数据库;或者在所述维护操作类型为对账时,判断数据库中所述待维护数据对应的数据与所述待维护数据是否一致,若不一致,则将数据库中所述待维护数据对应的数据更新为所述待维护数据。
167.相应的,图5c是本技术实施例提供的数据维护装置的又一种结构示意图,其具体体现了本技术的装置在数据调度实体101的体现,请参阅图5c,该数据维护装置包括以下模块:
168.接收模块521,用于接收触发请求,所述触发请求携带维护操作类型;
169.确定模块522,用于根据所述维护操作类型确定待维护数据;
170.生成模块523,用于生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
171.发送模块524,用于发送所述数据维护请求至所述数据事件中心。
172.在一种实施例,确定模块522具体用于实现以下方式中的一种:在所述维护操作类型为插入、修改、更新中的一种时,解析所述触发请求得到所述待维护数据;或者在所述维护操作类型为对账时,从基准数据存储实体中逐条获取数据作为所述待维护数据。
173.在一种实施例,生成模块523在所述生成数据维护请求之前,还用于:在所述维护操作类型为插入、修改、更新中的一种时,生成基准数据维护请求;发送所述基准数据维护请求至基准数据存储实体,以触发所述基准数据存储实体对数据库内的数据执行所述维护操作类型对应的维护操作;在接收到所述基准数据存储实体返回的操作成功响应后,生成数据维护请求。
174.相应的,本技术实施例还提供一种计算机设备,该计算机设备包括服务器或者终端等,以实现上述任一实施例中的数据维护装置。
175.如图6所示,该计算机设备可以包括射频(rf,radio frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(wifi,wireless fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
176.rf电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
177.显示单元604可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
178.计算机设备还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。音频电路606包括扬声器,传声器可提供用户与计算机设备之间的音频接口。
179.wifi属于短距离无线传输技术,计算机设备通过wifi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了wifi模块607,但是可以理解的是,其并不属于计算机设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
180.处理器608是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对手机进行整体监控。
181.计算机设备还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
182.尽管未示出,计算机设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现以下功能:
183.获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置;
184.解析所述数据维护请求,得到待维护数据以及维护操作类型;
185.构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
186.广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护。
187.或者实现以下功能:
188.监听来自数据事件中心的数据维护广播;
189.根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
190.解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
191.根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
192.或者实现以下功能:
193.接收触发请求,所述触发请求携带维护操作类型;
194.根据所述维护操作类型确定待维护数据;
195.生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
196.发送所述数据维护请求至数据事件中心。
197.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
198.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
199.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
200.获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述
数据库内数据的数据管理装置;
201.解析所述数据维护请求,得到待维护数据以及维护操作类型;
202.构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
203.广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护。
204.或者实现以下功能:
205.监听来自数据事件中心的数据维护广播;
206.根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
207.解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
208.根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
209.或者实现以下功能:
210.接收触发请求,所述触发请求携带维护操作类型;
211.根据所述维护操作类型确定待维护数据;
212.生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
213.发送所述数据维护请求至数据事件中心。
214.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
215.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
216.由于该存储介质中所存储的指令,可以执行本技术实施例所提供的任一种方法中的步骤,因此,可以实现本技术实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
217.为此,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。例如,实现以下功能:
218.获取来自数据调度实体的数据维护请求,所述数据维护请求用于触发数据存储实体对数据进行维护操作,所述数据存储实体包括用于存储数据的数据库以及用于管理所述数据库内数据的数据管理装置;
219.解析所述数据维护请求,得到待维护数据以及维护操作类型;
220.构建数据维护广播,所述数据维护广播携带所述维护操作类型、所述待维护数据以及所述待维护数据的订阅标识;
221.广播所述数据维护广播,以使得订阅所述数据维护广播的数据存储实体基于所述订阅标识根据所述数据维护广播对应的维护操作类型以及所述待维护数据对数据库内的数据进行维护。
222.或者实现以下功能:
223.监听来自数据事件中心的数据维护广播;
224.根据所述数据维护广播的订阅标识,确定需要响应的待响应数据维护广播;
225.解析所述待响应数据维护广播,得到维护操作类型以及待维护数据;
226.根据所述维护操作类型以及所述待维护数据对数据库内的数据进行维护。
227.或者实现以下功能:
228.接收触发请求,所述触发请求携带维护操作类型;
229.根据所述维护操作类型确定待维护数据;
230.生成数据维护请求,所述数据维护请求携带所述待维护数据以及所述维护操作类型;
231.发送所述数据维护请求至数据事件中心。
232.以上对本技术实施例所提供的一种数据维护方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献