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

数据处理方法、电子设备及存储介质与流程

2023-02-19 09:08:11 来源:中国专利 TAG:


1.本公开的实施例涉及一种数据处理方法、电子设备及存储介质。


背景技术:

2.数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
3.对于社交网络或线上办公应用等上层应用而言,选用的数据结构和数据结构之间的关系,影响着基于该数据结构的上层应用的运行效率或灵活性。


技术实现要素:

4.本公开至少一个实施例提供一种数据处理方法,该数据处理方法包括:为第一实体对象创建第一管理项且将所述第一实体对象绑定至所述第一管理项,所述第一管理项包括所述第一实体对象的第一变更信息;为至少一个第二实体对象分别创建至少一个第二管理项且将所述至少一个第二实体对象分别绑定至所述至少一个第二管理项,所述至少一个第二管理项分别包括对应的所述至少一个第二实体对象的第二变更信息;基于所述第一实体对象与所述至少一个第二实体对象之间的逻辑关系,建立所述第一管理项与所述至少一个第二管理项之间的第一层级关系;以及根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系。
5.本公开至少一个实施例还提供一种数据处理装置,该数据处理装置包括第一管理项处理单元、第二管理项处理单元、层级关系建立单元和层级关系维护单元;所述第一管理项处理单元配置为:为第一实体对象创建第一管理项且将所述第一实体对象绑定至所述第一管理项,所述第一管理项包括所述第一实体对象的第一变更信息;所述第二管理项处理单元配置为:为至少一个第二实体对象分别创建至少一个第二管理项且将所述至少一个第二实体对象分别绑定至所述至少一个第二管理项,所述至少一个第二管理项分别包括对应的所述至少一个第二实体对象的第二变更信息;所述层级关系建立单元配置为:基于所述第一实体对象与所述至少一个第二实体对象之间的逻辑关系,建立所述第一管理项与所述至少一个第二管理项之间的第一层级关系;所述层级关系维护单元配置为:根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系。
6.本公开至少一个实施例还提供一种电子设备,该电子设备包括处理器和存储器;所述存储器包括一个或多个计算机可执行指令;所述一个或多个计算机可执行指令被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机可执行指令用于实现本公开任一实施例所述的数据处理方法。
7.本公开至少一个实施例还提供一种存储介质,该存储介质用于存储非暂时性计算机可执行指令,当所述非暂时性计算机可执行指令由处理器执行时可以实现本公开任一实施例所述的数据处理方法。
附图说明
8.为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
9.图1为一种可用于实施本公开实施例提供的数据处理方法的系统;
10.图2a为本公开一些实施例提供的一种数据处理方法的示意性流程图;
11.图2b为本公开一些实施例中客户端操作界面的示例性示意图;
12.图3为本公开一些实施例提供的一种数据结构的示意图;
13.图4为本公开一些实施例提供的另一种数据处理方法的示意性流程图;
14.图5为本公开一些实施例提供的另一种数据结构的示意图;
15.图6为本公开一些实施例提供的一种对目标第二管理项的第二序列号进行更新的示意图;
16.图7为本公开一些实施例提供的再一种数据处理方法的示意性流程图;
17.图8为本公开一些实施例提供的一种数据处理方法的具体示例的示意性流程图;
18.图9为本公开一些实施例提供的一种数据处理方法中的步骤s51的示意性流程图;
19.图10为本公开一些实施例提供的再一种数据处理方法的示意性流程图;
20.图11为本公开一些实施例提供的再一种数据结构的示意图;
21.图12为本公开一些实施例提供的一种数据处理方法中的步骤s65的示意性流程图;
22.图13为本公开一些实施例提供的一种数据处理装置的示意框图;
23.图14为本公开一些实施例提供的一种电子设备的示意框图;
24.图15为本公开一些实施例提供的另一种电子设备的示意框图;以及
25.图16为本公开一些实施例提供的一种存储介质的示意图。
具体实施方式
26.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
27.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
28.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
29.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
30.需要注意,本公开中提及“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
31.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
32.对于社交网络或线上办公应用而言,需要按照一定层级来组织用户(使用人)的关系,例如将用户组织为群组,在群组内的用户,即群组成员可以彼此进行信息交互。同时,还可以将不同群组组织为团队、或团队的一部分,群组内的用户相应地也是团队内的用户,也即群组成员也是这个团队的团队成员。群组和团队之间的关联关系是可以变更的,对于一个团队而言可以增加或删除所属的群组。在利用数据结构来实现团队、群组以及管理它们之间的关系时,可以将对应于团队的数据对象与对应于群组的数据对象直接关联,这种方法简单、直接,但是扩展性较差,不利于引入新的数据对象以及扩展新的功能,并且数据处理速度较慢及数据处理效率不高。
33.本公开至少一个实施例提供一种数据处理方法,该数据处理方法包括:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息;为至少一个第二实体对象分别创建至少一个第二管理项且将至少一个第二实体对象分别绑定至至少一个第二管理项,至少一个第二管理项分别包括对应的至少一个第二实体对象的第二变更信息;基于第一实体对象与至少一个第二实体对象之间的逻辑关系,建立第一管理项与至少一个第二管理项之间的第一层级关系;以及根据第一实体对象与至少一个第二实体对象之间的逻辑关系,维护第一层级关系。
34.本公开上述实施例提供的数据处理方法中,通过将第一实体对象绑定至独立于第一实体对象的第一管理项,且将第二实体对象绑定至独立于第二实体对象的第二管理项,并建立第一管理项与第二管理项之间的第一层级关系,由此可以使第一实体对象与第二实体对象之间的关联关系的变更通过对该第一层级关系进行修改而实现,从而降低不同实体对象之间的逻辑关系发生变更时所需的运算量,提高数据处理速度及数据处理效率,同时也有助于实现对数据结构的优化,提高上层应用的灵活性。
35.并且,在本公开上述实施例提供的数据处理方法中,第一管理项和第二管理项分别存储有第一实体对象的第一变更信息和第二实体对象的第二变更信息,由此基于第一管理项和第二管理项中分别记录的第一变更信息和第二变更信息,可以准确且高效地获取对应的第一实体对象和第二实体对象的当前版本信息,从而有助于实现对存储在不同终端的第一实体对象的数据和第二实体对象的数据的组织、存储、调用、更新等处理操作。
36.下面,将参考附图详细地说明本公开的实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。
37.图1为一种可用于实施本公开实施例提供的数据处理方法的系统。如图1所示,该系统100可以包括用户终端110、网络120、服务器130以及数据库140。例如,该系统100可以用于实施本公开任一实施例所述的数据处理方法。
38.用户终端110例如为电脑110-1或手机110-2。可以理解的是,用户终端110可以是能够执行数据处理的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能手机、智能家居设备、可穿戴设备、车载电子设备、监控设备等。用户终端110也可以是设置有电子设备的任何装备,例如车辆、机器人等。
39.用户可以对安装在用户终端110上的应用程序进行操作,应用程序通过网络120将用户行为数据传输给服务器130,用户终端110还可以通过网络120接收服务器130传输的数
据。
40.用户终端110可以通过运行程序或线程的方式实施本公开实施例提供的数据处理方法,例如运行客户端部分。在一些示例中,用户终端110可以利用其内置的应用程序执行数据处理方法。在另一些示例中,用户终端110可以通过调用用户终端110外部存储的应用程序执行数据处理方法。
41.网络120可以是单个网络,或至少两个不同网络的组合。例如,网络120可以包括但不限于局域网、广域网、公用网络、专用网络等中的一种或几种的组合。
42.服务器130可以通过运行程序或线程的方式实施本公开实施例提供的数据处理方法,其可以是一个单独的服务器,或一个服务器群组(例如云服务),服务器群组内的各个服务器通过有线的或无线的网络进行连接。一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器130可以是本地的或远程的。服务器130可以通过有线的或无线的网络与用户终端110进行通信。例如,服务器130上可以运行社交软件或线上办公软件中的服务端,集中管理用户数据以及负责信息传输等,并且对于用户通过不同的用户终端110使用上述社交软件或线上办公软件的客户端的情形,服务器130上的服务端还可以负责对这些不同的用户终端110上的客户端各自记录的用户数据进行部分同步或全部同步,使得这些不同的用户终端110上的客户端各自记录的用户数据是完全相同的或对于至少部分时段是相同的,从而方便用户使用。
43.数据库140可以泛指具有存储功能的设备。数据库140主要用于存储用户终端110和服务器130在工作中所利用、产生和输出的各种数据。数据库140可以是本地的或远程的。数据库140可以包括相应的软件和硬件,例如包括各种存储器、例如随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)等。以上提及的存储设备只是列举了一些例子,该系统100可以使用的存储设备并不局限于此。
44.数据库140可以经由网络120与服务器130或其一部分相互连接或通信,或直接与服务器130相互连接或通信,或是上述两种方式的结合。
45.在一些示例中,数据库140可以是独立的设备。在另一些示例中,数据库140也可以集成在用户终端110和服务器130中的至少一个中。例如,数据库140可以设置在用户终端110上,也可以设置在服务器130上。又例如,数据库140也可以是分布式的,其一部分设置在用户终端110上,另一部分设置在服务器130上,例如也可以为运行在云端的数据库。
46.图2a为本公开一些实施例提供的一种数据处理方法的示意性流程图。该数据处理方法例如可以应用于服务端或客户端,例如服务端运行于图1所示的系统100中的服务器130上,客户端运行于用户终端110上,从而例如使用人的用户可以通过用户终端110访问服务端并且通过用户终端110上的客户端提供的操作界面进行操作。例如该数据处理方法可以应用于社交应用、线上办公等应用中。由于服务端集中管理用户数据以及负责信息传输等,下面以数据处理方法应用于服务端为例进行说明,并且在涉及与客户端进行同步时,加入对客户端的相应说明。
47.如图2a所示,本公开实施例提供的数据处理方法包括步骤s11至步骤s14。
48.步骤s11:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息。
49.步骤s12:为至少一个第二实体对象分别创建至少一个第二管理项且将至少一个
第二实体对象分别绑定至至少一个第二管理项,至少一个第二管理项分别包括对应的至少一个第二实体对象的第二变更信息。
50.步骤s13:基于第一实体对象与至少一个第二实体对象之间的逻辑关系,建立第一管理项与至少一个第二管理项之间的第一层级关系。
51.步骤s14:根据第一实体对象与至少一个第二实体对象之间的逻辑关系,维护第一层级关系。
52.由于是根据第一实体对象与至少一个第二实体对象之间的逻辑关系来维护第一层级关系,因此,在一些实施例中,可以基于第一层级关系,在客户端上实现对第一实体对象和第二实体对象及其逻辑关系的可视化呈现,后文将详细说明。
53.图3为本公开一些实施例提供的一种数据结构的示意图,例如该数据结构包括上述步骤s11至s14中的第一实体对象、第二实体对象、第一管理项、第二管理项等。下面结合图3中所示的数据结构,对图2a所示的数据处理方法中的各个步骤进行说明。
54.例如,参考图2a和图3所示,第一实体对象ut1可以为各种适当类型的实体对象,例如可以为社交软件或线上办公软件中的对象集合,也可以为其他实体对象,例如文档、日程等;第二实体对象ut2可以为各种适当类型的实体对象,例如可以为社交软件或线上办公软件中的对象集合,也可以为其他实体对象,例如文档、日程等。
55.例如,社交软件或线上办公软件中的对象集合为包括多个用户的集合,即包括多个用户,这些用户被组织在一起,以便彼此进行信息交流以及数据共享。不同的对象集合之间可以建立一定的关联关系,例如第二对象集合可以从属于第一对象集合。第二对象集合“从属于”第一对象集合,可以是指第二对象集合所能够执行的操作权限受限于第一对象集合所能够执行的操作权限,或者,也可以是指第二对象集合的信息传输边界或传输范围受限于第一对象集合的信息传输边界或传输范围内。在本公开的实施例中,用户可以是指使用相关设备或网络服务的真实的人或实体,也即,真实存在的使用人;或者,用户也可以是指系统中设置的能够模拟人类对话的例如聊天机器人或服务助手等用于提供服务的计算机程序。
56.例如,下文中,以第一实体对象ut1为“第一对象集合”和第二实体对象ut2为“第二对象集合”为例进行说明,其中,在逻辑关系上,第二实体对象ut2基于(或从属于)第一实体对象ut1。
57.例如,在一些示例中,该“第一对象集合”可以表示或理解为包括多个用户的一个“团队”等;“第二对象集合”可以表示或理解为包括多个用户的一个“群组”,例如一个用于该多个用户在群组中进行例如文本、图片、语音、视频、网络链接等信息交互的即时通讯的聊天群组。
58.例如,在线上办公软件的一个示例性应用场景中,创建“第一用户集合”即“团队”,其包括了一个公司全体员工,创建一个或多个“第二用户集合”即“群组”对应于公司中不同类型的分组,例如由总经理办公室创建的包括了全体公司员工的“公司畅聊组”(例如对应于公司的默认沟通群),又例如由人力资源部门创建的包括了全体公司员工的“人力资源分组”,或者例如由市场部建立的仅包括了市场部成员的“市场部分组”,由技术部建立的仅包括了市场部成员的“技术部分组”等等。这些群组从属于公司这个团队,在这些群组中,各自的成员可以进行聊天、分享信息等。因此,当一个员工从公司离职之后,其将被从从属于公
司的各个群组中删除,或者当市场部有新员工入职之后,该新员工将被加入到包括全体公司员工的“公司畅聊组”以及“人力资源分组”,并且也会被加入到“市场部分组”,但是不会被加入到“技术部分组”等。但是,非公司员工不能被加入到公司这个“团队”中,更不能被加入到从属于公司的各个分组中。因此,公司这个团队限定了从属于公司的各个群组的信息交互边界,例如还可以进一步限定从属于公司的各个群组的权限边界。
59.在线上办公软件的另一个示例性应用场景中,在技术部内创建多个“第一用户集合”即“团队”,包括开发产品1的全部员工的“产品1团队”,包括开发产品2的全部员工的“产品2团队”等。对于每个团队,还可以创建从属于自己的一个或多个“第二用户集合”即“群组”,对应于产品开发不同任务,例如,对于“产品1团队”,可以创建包括开发产品1的全部员工的“日常沟通群”(例如对应于该团队的默认沟通群),包括开发模块1的员工的“模块1交流群”,包括开发模块2的员工的“模块2交流群”等等。某一技术部内员工在对应的线上办公软件中可以属于一个或多个团队,并且在某一团队内且可以属于一个或多个群组。在该员工使用该线上办公软件的使用界面中,可以同时列出这一个或多个团队以及在每个团队下的一个或多个群组,并且可以在这些群组中进行相应的信息交流、分享等。不同员工由于可能属于不同的团队或在某一团队中属于不同的群组,不同员工在使用该线上办公软件时所得到的使用界面不同。
60.图2b示出了本公开至少一个实施例的客户端操作界面的一个示例,且以上述“产品1团队”、“产品2团队”为例。该操作页面具有“团队”操作标签(tab)用于对团队这一方式进行操作,在页面左侧示出了该用户所属的团队以及每个团队中具有的群组。如图2b所示,该用户至少属于“产品1团队”和“产品2团队”,“产品1团队”具有“日常沟通群”、“模块1交流群”、“模块2交流群”。目前,选中了“日常沟通群”(以灰色显示),在页面右侧示出了对应于该“日常沟通群”的聊天窗口cht,该聊天窗口cht上侧显示了过往信息,例如该群组中其他用户usr1和usr2已经发出的信息,该聊天窗口下侧显示了输入框inpt,供用户进行输入。
61.例如,每个团队具有一个或多个团队管理员,团队管理员为团队成员之一,具有各种管理团队的权限,包括增加、减少团队成员,解散团队,在团队中创建一个或多个群组,例如还可以解散团队中的群组,又例如可以具有设置某个团队成员权限等。团队管理员这一身份可以转让,即转让给团队中其他团队成员。团队成员对于所属的团队可以进行各种个性化设置,例如将所属的某个团队置顶、设置免打扰功能等。
62.例如,每个群组可以具有一个或多个群组管理员,群组管理员为群组成员之一,具有各种管理群组的权限,但是该管理群组的权限在不同应用场景或要求可以不同。例如,在群组成员需要与所从属的团队中的团队成员保持相同(例如群组成员与团队成员绑定)的情形,群组管理员则不具有添加或删除群组成员的权限。群组管理员这一身份可以转让,即转让给群组中其他群组成员。群组成员对于所属的群组可以被设置为具有不同权限,例如收听信息的权限、发送信息、发送网络链接、发起在线会议、共享日程的权项等;另外,每个群组成员还可以进行各种个性化设置,例如将所属的某个群置顶(例如,在某个团队内将某个群置顶)、设置免打扰功能等。
63.例如,对于上述步骤s11,在为第一实体对象ut1创建第一管理项itm1后,将第一实体对象ut1绑定至创建的第一管理项itm1,例如第一管理项itm1指向第一实体对象ut1,第一管理项itm1与第一实体对象ut1之间可以进行数据访问、调用等多种类型的数据交互操
作。第一管理项itm1包括第一实体对象ut1的第一变更信息,例如该第一变更信息可以包括第一实体对象ut1的当前版本信息(version)、历史版本信息、版本变更信息等,由此可以基于第一管理项itm1中记录的第一变更信息,用于辅助对第一实体对象ut1的数据进行更新。
64.例如,对于上述步骤s12,在为第二实体对象ut2创建第二管理项itm2后,将第二实体对象ut2绑定至创建的第二管理项itm2,例如第二管理项itm2指向第二实体对象ut2,第二管理项itm2与第二实体对象ut2之间可以进行数据访问、调用等多种类型的数据交互操作。第二管理项itm2包括第二实体对象ut2的第二变更信息,例如该第二变更信息可以包括第二实体对象ut2的当前版本信息、历史版本信息、版本变更信息等,由此可以基于第二管理项itm2中记录的第二变更信息,用于辅助对第二实体对象ut2的数据进行更新。
65.例如,对于上述步骤s13,通过建立第一管理项itm1与第二管理项itm2之间的第一层级关系,可以构成由第一管理项itm1和第二管理项itm2分别作为数据元素的数据结构。并且,由于该第一层级关系是基于第一实体对象ut1和第二实体对象ut2之间的逻辑关系建立,因此,第一实体对象ut1与第二实体对象ut2之间的层级关系或关联关系也可以通过建立的该第一层级关系体现。
66.例如,第一管理项itm1与第二管理项itm2之间的第一层级关系可以为图3中所示的从属关系,即第二管理项itm2从属于第一管理项itm1,由此构成图3中所示的以第一管理项itm1和第二管理项itm2分别作为父结点和子结点的树形结构。或者,基于第一实体对象ut1和第二实体对象ut2之间的不同逻辑关系,第一管理项itm1与第二管理项itm2之间的第一层级关系也可以相应地为并列关系、链接关系等,由此以使第一管理项itm1与第二管理项itm2形成其他类型的数据结构。
67.需要说明的是,图3中示出了2个第二实体对象ut2以及为这2个第二实体对象ut2创建的2个第二管理项itm2,且这2个第二管理项itm2均从属于第一管理项itm1。在本公开的其他一些实施例中,第二实体对象ut2以及对应的第二管理项itm2的个数也可以为1个、3个、4个或更多个,且多个第二管理项itm2各自与第一管理项itm1之间的层级关系可以彼此相同,也可以彼此不同,本公开的实施例对此均不作具体限制。
68.例如,对于上述步骤s14,在建立由第一管理项itm1和第二管理项itm2分别作为数据元素的数据结构之后,可以根据第一实体对象ut1与第二实体对象ut2之间的逻辑关系的变更,对第一层级关系进行修改,由此以使第一管理项itm1和第二管理项itm2之间的第一层级关系与第一实体对象ut1和第二实体对象ut2之间的逻辑关系保持一致。
69.本公开至少一实施例提供的数据处理方法中,不需要直接建立第一实体对象ut1与第二实体对象ut2之间的层级关系或关联关系,而是在绑定至第一实体对象ut1的第一管理项itm1与绑定至第二实体对象ut2的第二管理项itm2之间建立第一层级关系,进而通过该第一层级关系建立以及管理第一实体对象ut1与第二实体对象ut2之间的关联。
70.例如,以第二实体对象ut2从属于第一实体对象ut1为例,在第一实体对象ut1与第二实体对象ut2之间的逻辑关系发生变更时,例如第二实体对象ut2不再从属于第一实体对象ut1时,对于直接建立第一实体对象ut1与第二实体对象ut2之间的层级关系的情形,由于用于实现上述层级关系的数据需要被存储在第一实体对象ut1和/或第二实体对象ut2中,因此需要访问并修改第一实体对象ut1和/或第二实体对象ut2的数据,以变更第一实体对象ut1与第二实体对象ut2之间的层级关系。当第一实体对象ut1和第二实体对象ut2的整体
数据量较大时,上述访问更新操作可能会产生大量的数据运算量,导致数据的处理速度以及处理效率严重降低。但是,对于本公开实施例提供的数据处理方法,在第一实体对象ut1与第二实体对象ut2之间的逻辑关系发生变更时,可以通过修改第一管理项itm1与第二管理项itm2之间的第一层级关系,实现对第一实体对象ut1与第二实体对象ut2之间的层级关系或关联关系的变更,无需访问或修改第一实体对象ut1和/或第二实体对象ut2的数据,从而降低了所需的运算量,提高了数据处理速度及数据处理效率。
71.并且,在本公开上述实施例提供的数据处理方法中,第一管理项itm1和第二管理项itm2分别存储有第一实体对象ut1的第一变更信息和第二实体对象ut2的第二变更信息,由此基于第一管理项itm1和第二管理项itm2中分别记录的第一变更信息和第二变更信息,可以准确且高效地获取对应的第一实体对象ut1和第二实体对象ut2的例如版本变更信息,从而减小对第一实体对象ut1和第二实体对象ut2进行更新时所需的运算量。
72.例如,第一实体对象ut1与第一管理项itm1之间彼此分离存储,也即,第一管理项itm1独立于第一实体对象ut1存储,具有不同的存储地址;第二实体对象ut2与第二管理项itm2之间彼此分离存储,也即,第二管理项itm2独立于第二实体对象ut2存储,具有不同的存储地址。
73.例如,当第一实体对象对应于“团队”时,可以与其他对应于“团队”的实体对象由同一团队服务模块(提供团队管理服务,例如也可以被称为团队服务器)进行存储并处理;当第二实体对象对应于“群组”时,可以与其他对应于“群组”的实体对象由同一群组服务模块(提供群组管理服务,例如也可以被称为群组服务器)进行存储并处理;第一管理项和第二管理项可以与其他管理项一起由管理项服务模块(提供管理项服务,例如也可以被称为管理项服务器)进行存储并处理。在该实施例中,在系统的服务端,团队服务模块、群组服务模块和管理项服务模块可以分别运行在不同的设备硬件中,或者运行在同一硬件设备中。服务端还可以包括消息网关(im-gateway),该消息网关用来接收来自客户端的消息,或者分发从服务端到客户端的服务器消息,实现服务端与客户端之间数据交换以及同步,例如服务器消息包括更新信息、用户操作指令反馈等。同样地,客户端也可以包括消息网关,该消息网关用来接收来自服务端的消息,或者发送从客户端到服务端的客户端消息,该客户端消息包括用户通过客户端上的操作界面输入的操作指令,这些操作指令包括输入的信息、发送的图片信息、创建群组、设置用户属性等。
74.例如,可以在服务端和/或客户端提供sdk(software development kit,软件开发工具包)以实现相应的数据处理方法。
75.例如,在建立或修改第一管理项itm1与第二管理项itm2之间的第一层级关系时,需要对第一管理项itm1的数据和第二管理项itm2的数据进行修改。通过上述将第一实体对象ut1与第一管理项itm1之间彼此分离存储以及将第二实体对象ut2与第二管理项itm2之间彼此分离存储的方式,在第一实体对象ut1与第二实体对象ut2之间的逻辑关系发生变更时,仅需访问、调用或修改第一管理项itm1和第二管理项itm2的相应数据,从而减少了所需的运算量,提高了数据处理速度及数据处理效率。
76.例如,本公开的实施例对第一实体对象ut1、第二实体对象ut2、第一管理项itm1和第二管理项itm2的数据类型、存储结构、存储的数据内容等均不作具体限制。例如,第一管理项itm1和第二管理项itm2每个可以具有这些属性:自身识别号(id)、被绑定实体对象id
(entity_id)、被绑定实体对象类型(entity_type)、父节点识别号(parent_id)、状态(status或is_deleted)等。当一个管理项被删除时,或该管理项对应的实体对象被删除或被解散时,则这个管理项的状态值被改变,例如以0表示有效而1表示被删除。例如,第一实体对象ut1对应于团队,其可以具有这些属性:团队自身识别号(team_id),以及其他与团队相关的属性;第二实体对象ut2对应于群组,其可以具有这些属性:群组自身识别号(chat_id),以及其他与群组相关的属性。
77.又例如,以将本公开实施例提供的数据处理方法应用于社交应用程序中为例,第一实体对象ut1和第二实体对象ut2各自可以对应于该社交应用程序中的一个包含多个用户成员的群组。例如,第一实体对象ut1可以为包括多个用户成员的第一用户群组,第二实体对象ut2可以为包括多个用户成员的第二用户群组。例如,以第二实体对象ut2从属于第一实体对象ut1为例,第二用户群组为第一用户群组的子集,也即,第二用户群组的全部用户成员均被包含在第一用户群组的用户成员内。
78.例如,第一实体对象ut1的类型可以不同于第二实体对象ut2的类型。由此,通过建立并维护第一管理项itm1与第二管理项itm2之间的第一层级关系,可以优化对不同类型的实体对象之间的关联关系或层级关系的建立和维护,降低对不同类型的实体对象的数据进行访问、调用或修改时所需的运算量,提高数据处理速度及数据处理效率。
79.例如,在本公开的一些实施例中,如图3所示,第二实体对象ut2从属于第一实体对象ut1。相应地,在第一层级关系中,第一管理项itm1作为父结点,第二管理项itm2为该父结点的子结点。该示例中,在将第一实体对象ut1绑定至第一管理项itm1之后,第一管理项itm1的entity_id被修该为第一实体对象ut1的team_id,且第一管理项itm1的entity_type被修该为第一实体对象ut1的类型,即团队。在将第二实体对象ut2绑定至第二管理项itm2之后,第二管理项itm2的entity_id被修该为第二实体对象ut2的chat_id,且第二管理项itm2的entity_type被修该为第二实体对象ut2的类型,即群组。并且,当设定第二管理项itm2从属于第一管理项itm1时,则将第二管理项itm2的parent_id修该为第一管理项itm1的id。
80.下面,本公开的一些实施例以图3中所示的由第一管理项itm1和第二管理项itm2构成的树形结构为例,对本公开实施例提供的数据处理方法中的各个步骤进行具体说明。
81.例如,响应于第一实体对象的变更,本公开实施例提供的数据处理方法还包括以下步骤s21。
82.步骤s21:更新第一管理项的第一变更信息
83.由此,在第一实体对象发生变更时,通过更新第一变更信息可以在第一管理项中对第一实体对象的当前版本信息、历史版本信息、或版本变更信息等进行记录,以有助于后续基于第一变更信息对第一实体对象进行更新。
84.例如,响应于第二实体对象的变更,本公开实施例提供的数据处理方法还包括以下步骤s22。
85.步骤s22:更新第二管理项的第二变更信息。
86.由此,在第二实体对象发生变更时,通过更新第二变更信息可以在第二管理项中对第二实体对象的当前版本信息、历史版本信息、或版本变更信息等进行记录,以有助于后续基于第二变更信息对第二实体对象进行更新。
87.例如,第一变更信息包括用于记录第一实体对象的版本变更信息的第一序列号,第二变更信息包括用于记录第二实体对象的版本变更信息的第二序列号。例如,上述第一序列号和第二序列号可以为版本编号、变更操作编号或变更次数等用于体现对应的实体对象的变更信息的一个数字或一组编号等。例如,第一序列号和第二序列号中可以包括数字、字母、标识符等。
88.例如,上述步骤s21可以包括:对第一序列号进行增量操作,以更新第一序列号。例如,当第一实体对象发生变更时,对第一序列号进行增量操作,例如将第一序列号加1,由此可以提高第一变更信息的更新效率,提高数据处理速度及数据处理效率。
89.例如,上述步骤s22可以包括以下步骤s221和s222。
90.步骤s221:确定当前更新的目标第二管理项。
91.步骤s222:对目标第二管理项的第二序列号进行增量操作,以更新目标第二管理项的第二序列号。
92.例如,对于上述步骤s221和s222,以图3所示的情况为例,当第一管理项与多个第二管理项之间均具有第一层级关系时,需要在该多个第二管理项中确定当前更新的第二管理项为目标第二管理项。例如,当第一管理项仅与一个第二管理项之间具有第一层级关系时,则响应于该一个第二管理项的更新,确定该一个第二管理项为目标第二管理项。由此,当第二实体对象发生变更时,通过对相应的目标第二管理项的第二序列号进行增量操作,例如将第二序列号加1,可以提高目标第二管理项的第二变更信息的更新效率,从而提高数据处理速度及数据处理效率。
93.例如,当第一管理项与多个第二管理项之间均具有第一层级关系时(当与多个第二管理项之间具有第一层级关系时,该第一层级关系可以是一个层级关系,也可以是多个层级关系,例如具有递进层次的多个层级关系),多个第二管理项的第二序列号彼此不同且不重复使用。例如,在目标第二管理项的第二序列号更新之前或更新之后,该目标第二管理项的第二序列号不同于其他任一第二管理项的第二序列号。例如,在对目标第二管理项的第二序列号按照预设增量值进行增量操作时,如果增量操作后的目标第二管理项的第二序列号与其他任一第二管理项的第二序列号相同,则继续对该目标第二管理项的第二序列号进行增量操作,直到不同于其他任一第二管理项的第二序列号。
94.图4为本公开一些实施例提供的另一种数据处理方法的示意性流程图。需要说明的是,除步骤s34以外,步骤s31至s33和步骤s35分别与图2a中所示的数据处理方法中的步骤s11至s14基本相同或相似,关于步骤s31至s33和步骤s35的具体说明可以分别参考上述数据处理方法的实施例中对应于图2a所示的步骤s11至s14的相关描述,重复之处不再赘述。图5为本公开一些实施例提供的另一种数据结构的示意图。需要说明的是,除变更信息管理条目itmlst以外,图5所示的数据结构与图3所示的数据结构基本相同或相似,重复之处不再赘述。
95.如图4所示,该数据处理方法包括以下步骤s31至s35。
96.步骤s31:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息。
97.步骤s32:为多个第二实体对象分别创建多个第二管理项且将多个第二实体对象分别绑定至多个第二管理项,多个第二管理项分别包括对应的多个第二实体对象的第二变
更信息。
98.步骤s33:基于第一实体对象与多个第二实体对象之间的逻辑关系,建立第一管理项与多个第二管理项之间的第一层级关系。
99.步骤s34:为第一管理项创建变更信息管理条目,变更信息管理条目包括变更序列号,变更序列号表示多个第二管理项的第二序列号中的最大第二序列号。
100.步骤s35:根据第一实体对象与多个第二实体对象之间的逻辑关系,维护第一层级关系。
101.例如,对于步骤s34,结合图5所示,在建立第一管理项itm1与多个第二管理项itm2之间的第一层级关系后,可以为第一管理项itm1创建变更信息管理条目itmlst,以用于记录多个第二管理项itm2的第二序列号中的最大第二序列号,由此在对目标第二管理项的第二序列号进行更新时,可以基于变更信息管理条目itmlst中的变更序列号,优化对目标第二管理项的第二序列号进行增量操作的具体操作流程。
102.例如,对应于各个管理项的变更信息管理条目也可以单独存储和管理,此时为了与相应的实体对象对应,变更信息管理条目可以包括这些属性:对应管理项id(item_id)、管理项自身版本(version)、管理项子节点最大版本(max_version)等;这里当变更信息管理条目对应的管理项没有子节点时,则管理项子节点最大版本(max_version)可以没有或设置为缺省值(例如0)。例如,上述第一管理项的第一序列号以及第二管理项的第二序列号对应于上述管理项自身版本(version)属性,例如为自然数(例如为int64类型)。
103.图6为本公开一些实施例提供的一种对目标第二管理项的第二序列号进行更新的示意图。
104.例如,如图6所示,第一管理项itm1包括第一序列号n1,两个第二管理项itm21和itm22分别包括彼此不同的第二序列号n21和n22,变更信息管理条目itmlst包括变更序列号ncg。例如,上述变更信息管理条目itmlst的变更序列号ncg对应于上述管理项子节点最大版本(max_version),例如为自然数(例如为int64类型)。
105.例如,结合图6所示,以第二管理项itm21为目标第二管理项为例,上述步骤s222中的对目标第二管理项的第二序列号进行增量操作可以包括以下步骤s2221。
106.步骤s2221:获取变更序列号ncg,将目标第二管理项itm21的第二序列号n21更新为变更序列号ncg与预定增量之和。
107.例如,如图6所示,在执行步骤s2221之前,第二管理项itm21和itm22的第二序列号n21和n22分别为1和2,变更信息管理条目itmlst的变更序列号ncg为1和2中的最大第二序列号,也即为2。例如,以预定增量为1为例,在对目标第二管理项itm21的第二序列号n21进行更新时,将第二序列号n21更新为变更序列号ncg与预定增量之和,也即,将第二序列号n21更新为2 1=3。
108.例如,结合图6所示,在执行上述步骤s2221之后,上述步骤s222中的对目标第二管理项的第二序列号进行增量操作还包括以下步骤s2222。
109.步骤s2222:在更新目标第二管理项itm21的第二序列号n21之后,将变更序列号ncg更新为目标第二管理项itm21的第二序列号n21。
110.例如,如图6所示,在将目标第二管理项itm21的第二序列号n21更新为3之后,将变更序列号ncg也更新为3,由此使变更序列号ncg可以始终与第二管理项itm21和itm22的第
二序列号n21和n22中的最大第二序列号保持一致。
111.例如,在图6所示的示例中,第一管理项itm1的第一序列号n1为1。例如,在上述对目标第二管理项itm21的第二序列号n21更新的过程中,第一管理项itm1的第一序列号n1不需要相应发生变化。例如,第一管理项itm1的第一序列号n1与第二管理项itm21的第二序列号n21或第二管理项itm22的第二序列号n22之间并没有直接关系,因此第一管理项itm1的第一序列号n1不需要响应于第二序列号n21或n22的更新,且在对第一管理项itm1的第一序列号n1进行编号的过程中,可以采用与第二序列号n21或n22相同的编号。
112.例如,在本公开的一些实施例中,上述数据处理方法可以被分别应用于服务端与客户端上。对于某一用户而言,服务端记录并维护了该用户针对第一实体对象、第二实体对象、第一管理项、第二管理项等的全量数据,该用户的某一客户端则记录并维护了该用户端针对第一实体对象、第二实体对象、第一管理项、第二管理项等的拷贝。服务端与客户端之间通过网络实现数据传输,实现对于服务端与客户端上存储的关于第一实体对象、第二实体对象、第一管理项、第二管理项等等的数据的同步更新。因此,即便用户通过不同的客户端以使用相应的软件时,可以获得全部过往历史信息或选择部分的历史信息。
113.图7为本公开一些实施例提供的再一种数据处理方法的示意性流程图。需要说明的是,除步骤s44至s47以外,步骤s41至s43和步骤s48分别与图2a中所示的数据处理方法中的步骤s11至s14基本相同或相似,关于步骤s41至s43和步骤s48的具体说明可以分别参考上述数据处理方法的实施例中对应于图2a所示的步骤s11至s14的相关描述,重复之处不再赘述。
114.如图7所示,该数据处理方法包括以下步骤s41至s48。
115.步骤s41:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息。
116.步骤s42:为多个第二实体对象分别创建多个第二管理项且将多个第二实体对象分别绑定至多个第二管理项,多个第二管理项分别包括对应的多个第二实体对象的第二变更信息。
117.步骤s43:基于第一实体对象与多个第二实体对象之间的逻辑关系,建立第一管理项与多个第二管理项之间的第一层级关系。
118.步骤s44:通过服务端处理第一实体对象、第一管理项、第二实体对象、第二管理项以及第一层级关系。
119.步骤s45:通过客户端处理第一实体对象的拷贝、第一管理项的拷贝、第二实体对象的拷贝、第二管理项的拷贝以及第一层级关系的拷贝。
120.步骤s46:允许客户端向服务端提供所接收的指令,用于通过服务端更新第一实体对象、第一管理项、第二实体对象、第二管理项或第一层级关系。
121.步骤s47:允许客户端向服务端请求同步,以更新客户端各自处理的第一实体对象的拷贝、第一管理项的拷贝、第二实体对象的拷贝、第二管理项的拷贝以及第一层级关系的拷贝。
122.步骤s48:根据第一实体对象与多个第二实体对象之间的逻辑关系,维护第一层级关系。
123.例如,对于上述步骤s44至s47,服务端上存储有第一实体对象、第一管理项、第二
实体对象、第二管理项以及第一层级关系,也即,存储有关于第一实体对象、第一管理项、第二实体对象、第二管理项以及第一层级关系的第一数据;客户端上存储有第一实体对象的拷贝、第一管理项的拷贝、第二实体对象的拷贝、第二管理项的拷贝以及第一层级关系的拷贝,也即,存储有关于第一实体对象、第一管理项、第二实体对象、第二管理项以及第一层级关系的第二数据。例如,当客户端接收到更新指令时,客户端对存储的第二数据进行更新,并向服务端提供所接收的更新指令,以使得服务端对存储的第一数据进行同步更新,从而使得服务端上的第一数据与客户端上的第二数据保持一致。
124.例如,当服务端与多个客户端之间均通过网络进行数据同步时,在服务端根据其中一个客户端提供的所接收的更新指令对第一数据进行同步更新后,当其他客户端向服务端请求同步时,其他客户端基于服务端更新后的第一数据对所存储的第二数据进行同步更新,由此使得服务端上的第一数据与不同客户端上的第二数据均保持一致。
125.例如,客户端可以通过运行程序或线程的方式执行上述操作,或者也可以利用其内置的应用程序或调用客户端外部存储的应用程序执行上述操作,本公开的实施例对此不作具体限制。
126.例如,上述步骤s44至s47还可以在步骤s48之后执行,以使得服务端上的第一数据与客户端上的第二数据之间可以保持同步。
127.图8为本公开一些实施例提供的一种数据处理方法的具体示例的示意性流程图。
128.例如,如图8所示,服务端serv包括第一实体对象服务模块serv1、第二实体对象服务模块serv2以及管理项服务模块serv3。第一实体对象服务模块serv1向管理项服务模块serv3发送第一创建请求rq1,管理项服务模块serv3响应于第一创建请求rq1为第一实体对象创建第一管理项并将第一实体对象绑定至第一管理项,也即,执行例如上述图2a中所示的步骤s11。第二实体对象服务模块serv2向管理项服务模块serv3发送第二创建请求rq2,管理项服务模块serv3响应于第二创建请求rq2为第二实体对象创建第二管理项并将第二实体对象绑定至第二管理项,也即,执行例如上述图2a中所示的步骤s12。管理项服务模块serv3基于第一实体对象与第二实体对象之间的逻辑关系,建立并维护第一层级关系,也即,执行例如上述图2a中所示的步骤s13和s14。
129.此外,在至少一个实施例中,在客户端可以通过与服务端对应的第一实体对象服务模块serv1、第二实体对象服务模块serv2以及管理项服务模块serv3,实现客户端本地的数据管理与维护。
130.例如,在本公开的一些实施例中,在客户端与服务端同步时,响应于第一管理项在第一层级关系中为第二管理项的父结点,先同步第一管理项与第一管理项的拷贝,然后同步第二管理项与第二管理项的拷贝。也即,在第一管理项与第二管理项之间的第一层级关系为例如图3中所示的第二管理项从属于第一管理项时,先对服务端上存储的第一管理项与客户端上存储的第一管理项的拷贝进行数据同步,然后在对服务端上存储的第二管理项与客户端上存储的第二管理项的拷贝进行数据同步。例如,当父结点的数据更新时,该父结点的所有子结点的数据均需要相应更新,因此,通过先对父结点进行同步之后在同步子结点,可以优化数据处理的操作流程,提升数据处理效率。
131.例如,对于一个父结点的多个子结点,该多个子结点的同步顺序可以根据该多个子结点对应的多个第二实体对象的数据确定。例如,以绑定至第一管理项的第一实体对象
为上文中所述的团队为例,该团队的默认沟通群为一个第二实体对象,则可以优先对与该第二实体对象(也即默认沟通群)对应的子结点进行同步。
132.例如,在本公开的一些实施例中,该数据处理方法还包括以下步骤s51。
133.步骤s51:基于变更信息管理条目,对客户端进行同步。
134.例如,以图6所示的示例为例,当客户端与服务端同步时,在基于客户端上存储的第一管理项itm1的拷贝的第一序列号n1与服务端上存储的第一管理项itm1的第一序列号n1,对第一管理项itm1的拷贝与第一管理项itm1进行同步后,如果客户端上存储的变更信息管理条目itmlst的拷贝中的变更序列号ncg与服务端上存储的变更信息管理条目itmlst中的变更序列号ncg相同,则不需要对客户端上存储的第二管理项itm2的拷贝与服务端上存储的第二管理项itm2进行更新;如果客户端上存储的变更信息管理条目itmlst的拷贝中的变更序列号ncg与服务端上存储的变更信息管理条目itmlst中的变更序列号ncg不同,则需要根据服务端上存储的变更信息管理条目itmlst中的变更序列号ncg以及客户端上存储的各第二管理项itm2的拷贝的第二变更序列号,确定客户端上需要进行更新的第二管理项itm2的拷贝,以使客户端上存储的第二数据与服务端上存储的第一数据保持一致。
135.例如,如果服务端上存储的变更信息管理条目itmlst中的变更序列号ncg为4,客户端上存储的变更信息管理条目itmlst的拷贝中的变更序列号ncg为3,则仅需要找到服务端上第二变更序列号为4的第二管理项itm2,并对客户端上对应的第二管理项itm2的拷贝进行同步更新,无需对客户端上的其他第二管理项itm2的拷贝进行同步更新,进而优化了数据处理的操作流程,提升了数据处理效率。进而,在对该对应的第二管理项itm2的拷贝进行更新后,该对应的第二管理项itm2的拷贝的第二变更序列号变为4,相应地,客户端上存储的变更信息管理条目itmlst的拷贝中的变更序列号ncg也变为4,即与服务端上存储的变更信息管理条目itmlst中的变更序列号ncg相同。
136.图9为本公开一些实施例提供的一种数据处理方法中的步骤s51的示意性流程图。
137.例如,如图9所示,上述步骤s51包括以下步骤s511至s513。
138.步骤s511:确定当前进行同步的目标客户端。
139.步骤s512:接受目标客户端进行第一同步的请求。
140.步骤s513:在从服务端对目标客户端进行第一同步之后,在服务端将第一同步中服务端发送给目标客户端的变更序列号记录为客户端最近变更序列号,在目标客户端将第一同步中服务端发送给目标客户端的变更序列号记录为客户端最大变更序列号。
141.例如,当服务端与多个客户端之间均通过网络进行数据同步时,需要在该多个客户端中确定当前进行同步的客户端为目标客户端。例如,当服务端仅需要与一个客户端之间保持数据同步时,则响应于该一个客户端的第一同步的请求,确定该一个客户端为目标客户端。
142.例如,在服务端接受目标客户端进行第一同步的请求后,目标客户端基于服务端上当前存储的变更信息管理条目进行第一同步。同时,在第一同步后,服务端将第一同步中发送给目标客户端的变更序列号记录为客户端最近变更序列号maxclt,目标客户端将第一同步中服务端发送的变更序列号记录为客户端最大变更序列号max。
143.例如,如图9所示,在本公开的一些实施例中,上述步骤s51还包括以下步骤s514至s518。
144.步骤s514:接受目标客户端进行第二同步的请求,第二同步在时间上与第一同步相邻。
145.步骤s515:从服务端向目标客户端发送客户端最近变更序列号以及接受第二同步的请求时服务端的变更序列号。
146.步骤s516:由目标客户端比较客户端最近变更序列号与客户端最大变更序列号。
147.响应于客户端最近变更序列号与客户端最大变更序列号相等:
148.步骤s517:将目标客户端根据客户端最大变更序列号以及服务端发送的变更序列号进行第二同步。
149.响应于客户端最近变更序列号与客户端最大变更序列号不等:
150.步骤s518:将目标客户端不限于客户端最大变更序列号进行第二同步。
151.例如,第二同步与第一同步在时间上紧邻,也即,在第一同步与第二同步之间,目标客户端与服务端之间没有进行过任何其他数据同步。在服务端接受目标客户端进行第二同步的请求后,服务端将存储的目标客户端的客户端最近变更序列号maxclt发送给目标客户端,目标客户端将存储的客户端最大变更序列号max与服务端发送的客户端最近变更序列号maxclt进行比较。如果客户端最近变更序列号maxclt与客户端最大变更序列号max相等,则执行步骤s517,根据服务端和目标客户端上当前的变更序列号进行第二同步;如果客户端最近变更序列号maxclt与客户端最大变更序列号max不等,则执行步骤s518,例如根据服务端上当前的变更序列号对客户端上的每个第二管理项的拷贝进行全局同步,也即,对客户端上的每个第二管理项的拷贝均进行同步,以避免客户端上的数据丢失或出现错误。
152.图10为本公开一些实施例提供的再一种数据处理方法的示意性流程图。需要说明的是,除步骤s64和s65以外,步骤s61至s63和步骤s66分别与图2a中所示的数据处理方法中的步骤s11至s14基本相同或相似,关于步骤s61至s63和步骤s66的具体说明可以分别参考上述数据处理方法的实施例中对应于图2a所示的步骤s11至s14的相关描述,重复之处不再赘述。
153.图11为本公开一些实施例提供的再一种数据结构的示意图。需要说明的是,除第一顺序条目itmord和变更信息管理条目itmlst以外,图11所示的数据结构与图3所示的数据结构基本相同或相似,或者,除第一顺序条目itmord以外,图11所示的数据结构与图5所示的数据结构基本相同或相似,重复之处不再赘述。
154.如图10所示,在本公开的一些实施例中,该数据处理方法包括以下步骤s61至s64和步骤s66。
155.步骤s61:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息。
156.步骤s62:为多个第二实体对象分别创建多个第二管理项且将多个第二实体对象分别绑定至多个第二管理项,多个第二管理项分别包括对应的多个第二实体对象的第二变更信息。
157.步骤s63:基于第一实体对象与多个第二实体对象之间的逻辑关系,建立第一管理项与多个第二管理项之间的第一层级关系。
158.步骤s64:为多个第二管理项分别创建多个第一顺序条目,以用于记录多个第二管理项之间的第一排序信息。
159.步骤s66:根据第一实体对象与多个第二实体对象之间的逻辑关系,维护第一层级关系。
160.如图10所示,在本公开的一些实施例中,在执行步骤s64之后,该数据处理方法还包括以下步骤s65。
161.步骤s65:根据多个第一顺序条目,在多个第二管理项之间进行第一排序。
162.例如,参考图10和图11所示,第一顺序条目itmord可以包括对应的第二管理项itm2的第一排序类型信息和/或第一排序权重信息,由此可以根据不同实际需求,根据第二管理项itm2的第一顺序条目itmord中的信息,对第二管理项itm2采用不同的排序方式。例如,可以根据第二管理项itm2的第一顺序条目itmord中的信息,按照第二管理项itm2的创建时间进行第一排序,或者按照第二管理项itm2对应的第二实体对象ut2的权重进行第一排序等等,本公开的实施例对此不作具体限制。
163.图12为本公开一些实施例提供的一种数据处理方法中的步骤s65的示意性流程图。
164.例如,如图12所示,在本公开的一些实施例中,上述步骤s65可以包括以下步骤s651。
165.步骤s651:基于多个第二管理项对应的第一排序类型信息和/或第一排序权重信息,在多个第二管理项之间进行第一排序。
166.例如,步骤s651中的第一排序类型信息可以包括第二管理项的创建时间、命名字符或更新时间等。
167.例如,如图12所示,在本公开的一些实施例中,上述步骤s65还可以包括以下步骤s652。
168.步骤s652:对于第一排序后的多个第二管理项每个分别赋予顺序标识号,第一排序后的多个第二管理项对应的多个顺序标识号中至少两个不依序递增。
169.例如,多个第二管理项对应的多个顺序标识号按照预定间隔递增,预定间隔大于1。
170.例如,如图12所示,在本公开的一些实施例中,在上述步骤s652之后,上述步骤s65还可以包括以下步骤s653。
171.响应于插入一个新的第二管理项:
172.步骤s653:重新进行第一排序之后,确定新的第二管理项与在第一排序中前后紧相邻的两个第二管理项的顺序标识号之间的算术差。
173.例如,如果算术差小于或等于预定间隔且大于预定偏移,则将新的第二管理项的顺序标识号确定为在第一排序中前紧相邻的第二管理项的顺序标识号与预定偏移之和。例如,预定偏移大于等于1且小于预定间隔。
174.例如,为第二管理项设置的顺序标识号可以按照一定的预定间隔来处理,例如多个第二管理项的顺序标识号可以设置为0、1024、2048、3072,等等,以此类推。这样,在两个相邻的第二管理项之间插入新的第二管理项时,只需要把新插入的第二管理项的顺序标识号记为例如512即可,从而减少所需的运算量,提高数据处理效率。
175.例如,若两个相邻的第二管理项之间的顺序标识号均已被占用时,例如以顺序标识号0、1、2、8、256、512为例,其中0~2之间是无法添加新的顺序标识号的。如果需要在顺序
标识号0和1对应的两个第二管理项之间插入新的第二管理项时,则需要对顺序标识号0对应的第二管理项之后的所有第二管理项按照预定偏移进行偏移操作,且预定偏移大于等于1且小于预定间隔。例如,以预定间隔设置为512,预定偏移设置为8为例,在进行偏移操作时,依次对需要偏移的第二管理项的顺序标识号按照预定偏移进行递加,直至下一个顺序标识号与当前顺序标识号之间的差值小于预定偏移,可以重复执行上述偏移操作。例如,按照上述操作方法,生成的新的顺序标识号为:0、8、16、24、32、256、512。
176.例如,在本公开的一些实施例中,该数据处理方法还包括以下步骤s71。
177.步骤s71:为多个第二管理项分别创建多个第二顺序条目,以用于记录多个第二管理项之间的第二排序信息,第二排序信息不同于第一排序信息。
178.例如,在本公开的一些实施例中,该数据处理方法还包括以下步骤s72。
179.步骤s72:根据多个第二顺序条目,在多个第二管理项之间进行第二排序。
180.例如,多个第二顺序条目分别包括对应的第二管理项的第二排序类型信息和/或第二排序权重信息。由此,可以基于不同于第一排序信息的第二排序信息,对多个第二顺序条目之间进行第二排序,以得到与进行第一排行后不同的顺序,进而提升多个第二顺序条目之间的排序方式的灵活性和多样性,以满足不同实际需求并适用于不同应用场景中。
181.例如,上述步骤s72可以包括:基于多个第二管理项对应的第二排序类型信息和/或第二排序权重信息,在多个第二管理项之间进行第二排序。由此,以得到进行第二排序后的多个第二管理项。
182.例如,在本公开的一些实施例中,第二管理项包括结点标识信息,例如,该结点标识信息可以用于表示第二管理项与第一管理项之间的第一层级关系,例如用于表示第二管理项从属于第一管理项。例如,在第二管理项从属于第一管理项的情况下,该结点标识信息中可以包括第二管理项指向第一管理项的结构性信息。
183.例如,在本公开的一些实施例中,该数据处理方法还包括:响应于建立第一管理项与第二管理项之间的第一层级关系,更新第二管理项的结点标识信息以指向第一管理项。由此,以通过第二管理项的结点标识信息,记录该第一层级关系。例如,在后续步骤中该第一层级关系发生变更的情况下,同样可以通过更新该结点标识信息,以实现第一层级关系的变更。
184.例如,在本公开的一些实施例中,图2a中所示的上述步骤s11可以包括以下步骤s110。
185.步骤s110:根据预定管理项模板,基于第一实体对象的数据,创建第一管理项。
186.例如,在本公开的一些实施例中,图2a中所示的上述步骤s12可以包括以下步骤s120。
187.步骤s120:根据预定管理项模板,基于第二实体对象的数据,创建第二管理项。
188.例如,管理项模板包括标识信息项目和类型信息项目等,例如可以分别对应于上述自身识别号(id)、被绑定实体对象类型(entity_type),标识信息项目用于记录绑定至管理项的实体对象的标识信息,类型信息项目用于记录绑定至管理项的实体对象的类型信息。根据需要,管理项模板还可以包括对应于被绑定实体对象id(entity_id)、父节点识别号(parent_id)、状态(status或is_deleted)等数据项。
189.例如,管理项服务模块在接收了针对某一实体对象创建管理项的请求之后,使用
管理项模板生成新的管理项,并对该新生成的管理项赋值,已将该管理项与该实体对象关联。
190.例如,在本公开的一些实施例中,响应于第一实体对象与第二实体对象之间的逻辑关系变更,图2a中所示的上述步骤s14可以包括以下步骤s141。
191.步骤s141:修改第一层级关系。
192.进而,在第一实体对象与第二实体对象之间的逻辑关系发生变更时,可以通过修改第一管理项与第二管理项之间的第一层级关系,实现对第一实体对象与第二实体对象之间的层级关系或关联关系的变更,无需访问或修改第一实体对象和/或第二实体对象的数据,从而降低了所需的运算量,提高了数据处理速度及数据处理效率。
193.例如,逻辑关系变更可以包括第一实体对象被删除,使得第一实体对象与第二实体对象之间不具有关联关系,例如,逻辑关系变更还可以包括每个第二实体对象均被删除,使得第一实体对象与任一第二实体对象之间均不具有关联关系。
194.在上述第一实体对象与第二实体对象之间不具有关联关系的情况下,上述步骤s141中的修改第一层级关系可以包括:解除第一层级关系。由此可以使第一实体对象与第二实体对象之间的关联关系或层级关系的解除不需要通过对第一实体对象与第二实体对象的数据进行修改而实现,进而降低了不同实体对象之间的逻辑关系发生变更时所需的运算量,提高数据处理速度及数据处理效率,同时也有助于实现对数据结构的优化。
195.例如,在本公开的一些实施例中,响应于第二实体对象的数量的增减,图2a中所示的上述步骤s14可以包括以下步骤s142。
196.步骤s142:更新第一层级关系。
197.例如,在第二实体对象的数量的增加时,通过为新增的第二实体对象创建相应的第二管理项,并建立该第二管理项之间的第一层级关系,由此可以实现对第一管理项和第二管理项构成的数据结构的更新。例如,在第二实体对象的数量的减少时,例如某一个第二实体对象被删除时,解除该第二实体对象对应的第二管理项(例如为待操作第二管理项)与第一管理项之间的第一层级关系,并删除对应的第二管理项,由此实现对第一管理项和第二管理项构成的数据结构的更新。
198.例如,以第一实体对象对应于第一对象集合,第二实体对象对应于第二对象集合为例,响应于第二实体对象从属于第一实体对象,该数据处理方法还包括:修改第一实体对象的数据,使得第二对象集合为第一对象集合的子集。
199.例如,以将本公开实施例提供的数据处理方法应用于社交应用程序中为例,第一实体对象和第二实体对象各自可以对应于该社交应用程序中的一个包含多个用户成员的集合。例如,第一实体对象可以为包括多个用户成员的第一用户集合,也即,第一对象集合;第二实体对象可以为包括多个用户成员的第二用户集合,也即,第二对象集合。例如,当第二实体对象从属于第一实体对象时,第二用户集合为第一用户集合的子集,也即,第二用户集合的全部用户成员均被包含在第一用户集合的用户成员内。
200.例如,第一对象集合的成员可以与第二对象集合的成员保持相同。
201.需要说明的是,在本公开的实施例中,本公开上述各个实施例提供的数据处理方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的数据处理方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的
顺序并不受限制。上文描述的数据处理方法可以执行一次,也可以按照预定条件执行多次。
202.本公开至少一个实施例还提供一种数据处理装置,该数据处理装置包括第一管理项处理单元、第二管理项处理单元、层级关系建立单元和层级关系维护单元;第一管理项处理单元配置为:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息;第二管理项处理单元配置为:为至少一个第二实体对象分别创建至少一个第二管理项且将至少一个第二实体对象分别绑定至至少一个第二管理项,至少一个第二管理项分别包括对应的至少一个第二实体对象的第二变更信息;层级关系建立单元配置为:基于第一实体对象与至少一个第二实体对象之间的逻辑关系,建立第一管理项与至少一个第二管理项之间的第一层级关系;层级关系维护单元配置为:根据第一实体对象与至少一个第二实体对象之间的逻辑关系,维护第一层级关系。
203.本公开上述实施例提供的数据处理装置通过将第一实体对象绑定至独立于第一实体对象的第一管理项,且将第二实体对象绑定至独立于第二实体对象的第二管理项,并建立第一管理项与第二管理项之间的第一层级关系,由此可以使第一实体对象与第二实体对象之间的关联关系的变更通过对该第一层级关系进行修改而实现,从而降低不同实体对象之间的逻辑关系发生变更时所需的运算量,提高数据处理速度及数据处理效率,同时也有助于实现对数据结构的优化,提高上层应用的灵活性。
204.图13为本公开一些实施例提供的一种数据处理装置的示意框图。
205.例如,如图13所示,该数据处理装置600包括第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604。
206.第一管理项处理单元601配置为:为第一实体对象创建第一管理项且将第一实体对象绑定至第一管理项,第一管理项包括第一实体对象的第一变更信息。例如,第一管理项处理单元601可以执行图2a中所示的数据处理方法中的步骤s11。
207.第二管理项处理单元602配置为:为至少一个第二实体对象分别创建至少一个第二管理项且将至少一个第二实体对象分别绑定至至少一个第二管理项,至少一个第二管理项分别包括对应的至少一个第二实体对象的第二变更信息。例如,第二管理项处理单元602可以执行图2a中所示的数据处理方法中的步骤s12。
208.层级关系建立单元603配置为:基于第一实体对象与至少一个第二实体对象之间的逻辑关系,建立第一管理项与至少一个第二管理项之间的第一层级关系。例如,层级关系建立单元603可以执行图2a中所示的数据处理方法中的步骤s13。
209.层级关系维护单元604配置为:根据第一实体对象与至少一个第二实体对象之间的逻辑关系,维护第一层级关系。例如,层级关系维护单元604可以执行图2a中所示的数据处理方法中的步骤s14。
210.例如,第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604的一些功能或全部功能。例如,第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604可以是专用硬件器件,用来实现如上所述的第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604的一些或全部功能。例如,第一管理项处理单元601、第二
管理项处理单元602、层级关系建立单元603和层级关系维护单元604可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本技术实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
211.需要说明的是,关于第一管理项处理单元601、第二管理项处理单元602、层级关系建立单元603和层级关系维护单元604的具体说明可以分别参考上述数据处理方法的实施例中对应于图2a所示的步骤s11至步骤s14的相关描述。此外,数据处理装置可以实现与前述数据处理方法相似的技术效果,在此不再赘述。
212.本公开至少一个实施例还提供一种电子设备,该电子设备包括处理器和存储器。该存储器包括一个或多个计算机可执行指令。一个或多个计算机可执行指令被存储在存储器中并被配置为由处理器执行,一个或多个计算机可执行指令用于实现本公开任一实施例提供的数据处理方法。
213.图14为本公开一些实施例提供的一种电子设备的示意框图。如图14所示,该电子设备300包括处理器310和存储器320,可以用于实现客户端或服务端,以分别实现对应的方法。存储器320用于非瞬时性地存储有计算机可执行指令(例如一个或多个计算机程序模块)。处理器310用于运行该计算机可执行指令,该计算机可执行指令被处理器310运行时可以执行上文所述的数据处理方法中的一个或多个步骤,进而实现上文所述的数据处理方法。存储器320和处理器310可以通过总线系统和/或其它形式的连接机构(未示出)互连。
214.例如,处理器310可以是中央处理单元(cpu)、图形处理单元(gpu)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(cpu)可以为x86或arm架构等。处理器310可以为通用处理器或专用处理器,可以控制电子设备300中的其它组件以执行期望的功能。
215.例如,存储器320可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器310可以运行一个或多个计算机程序模块,以实现电子设备300的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
216.需要说明的是,本公开的实施例中,电子设备300的具体功能和技术效果可以参考上文中关于数据处理方法的描述,此处不再赘述。
217.图15为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备400例如适于用来实施本公开实施例提供的数据处理方法。电子设备400可以是终端设备等,可以用于实现客户端或服务端。电子设备400可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字tv、台式计算机、智能家居设备等等的固定终端。需要注意的是,图15示出的电子设备400仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
218.如图15所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)410,其可以根据存储在只读存储器(rom)420中的程序或者从存储装置480加载到随机访问存储器(ram)430中的程序而执行各种适当的动作和处理。在ram 430中,还存储有电子设备400操作所需的各种程序和数据。处理装置410、rom 420以及ram 430通过总线440彼此相连。输入/输出(i/o)接口450也连接至总线440。
219.通常,以下装置可以连接至i/o接口450:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置460;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置470;包括例如磁带、硬盘等的存储装置480;以及通信装置490。通信装置490可以允许电子设备400与其他电子设备进行无线或有线通信以交换数据。虽然图15示出了具有各种装置的电子设备400,但应理解的是,并不要求实施或具备所有示出的装置,电子设备400可以替代地实施或具备更多或更少的装置。
220.例如,根据本公开的实施例,上述数据处理方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述数据处理方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置490从网络上被下载和安装,或者从存储装置480安装,或者从rom 420安装。在该计算机程序被处理装置410执行时,可以实现本公开实施例提供的数据处理方法中限定的功能。
221.图16为本公开一些实施例提供的一种存储介质的示意图。例如,如图16所示,存储介质500可以为非暂时性计算机可读存储介质,用于存储非暂时性计算机可执行指令501。当非暂时性计算机可执行指令501由处理器执行时可以实现本公开实施例所述的数据处理方法,例如,当非暂时性计算机可执行指令501由处理器执行时,可以执行根据上文所述的数据处理方法中的一个或多个步骤。
222.例如,该存储介质500可以应用于上述电子设备中,例如,该存储介质500可以包括电子设备中的存储器。
223.例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
224.例如,关于存储介质500的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。存储介质500的具体功能和技术效果可以参考上文中关于数据处理方法的描述,此处不再赘述。
225.需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公
开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
226.在一些实施方式中,客户端、服务端可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
227.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
228.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
229.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
230.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
231.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
232.根据本公开的一个或多个实施例,一种数据处理方法,包括:为第一实体对象创建
第一管理项且将所述第一实体对象绑定至所述第一管理项,其中,所述第一管理项包括所述第一实体对象的第一变更信息;为至少一个第二实体对象分别创建至少一个第二管理项且将所述至少一个第二实体对象分别绑定至所述至少一个第二管理项,其中,所述至少一个第二管理项分别包括对应的所述至少一个第二实体对象的第二变更信息;基于所述第一实体对象与所述至少一个第二实体对象之间的逻辑关系,建立所述第一管理项与所述至少一个第二管理项之间的第一层级关系;以及根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系。
233.根据本公开的一个或多个实施例,所述至少一个第二实体对象从属于所述第一实体对象,在所述第一层级关系中,所述第一管理项作为父结点,所述至少一个第二管理项分别为所述父结点的至少一个子结点。
234.根据本公开的一个或多个实施例,所述第一实体对象与所述第一管理项之间彼此分离存储,所述至少一个第二实体对象与对应的所述至少一个第二管理项之间彼此分离存储。
235.根据本公开的一个或多个实施例,数据处理方法还包括:响应于所述第一实体对象的变更,更新所述第一管理项的第一变更信息;和/或响应于所述至少一个第二实体对象各自的变更,更新所述至少一个第二管理项各自的第二变更信息。
236.根据本公开的一个或多个实施例,所述第一变更信息包括用于记录所述第一实体对象的版本变更信息的第一序列号,更新所述第一管理项的第一变更信息,包括:对所述第一序列号进行增量操作,以更新所述第一序列号。
237.根据本公开的一个或多个实施例,所述第二变更信息包括用于记录对应的所述第二实体对象的版本变更信息的第二序列号,更新所述至少一个第二管理项各自的第二变更信息,包括:在所述至少一个第二管理项中确定当前更新的目标第二管理项,以及对所述目标第二管理项的第二序列号进行增量操作,以更新所述目标第二管理项的第二序列号。
238.根据本公开的一个或多个实施例,所述至少一个第二实体对象包括多个第二实体对象,对应的所述至少一个第二管理项包括多个第二管理项,所述多个第二管理项的第二序列号彼此不同且不重复使用。
239.根据本公开的一个或多个实施例,数据处理方法还包括:为所述第一管理项创建变更信息管理条目,其中,所述变更信息管理条目包括变更序列号,所述变更序列号表示所述至少一个第二管理项的第二序列号中的最大第二序列号。
240.根据本公开的一个或多个实施例,对所述目标第二管理项的第二序列号进行增量操作,以更新所述目标第二管理项的第二序列号,包括:获取所述变更序列号,将所述目标第二管理项的第二序列号更新为所述变更序列号与预定增量之和。
241.根据本公开的一个或多个实施例,对所述目标第二管理项的第二序列号进行增量操作,以更新所述目标第二管理项的第二序列号,还包括:在更新所述目标第二管理项的第二序列号之后,将所述变更序列号更新为所述目标第二管理项的第二序列号。
242.根据本公开的一个或多个实施例,数据处理方法还包括:通过服务端处理所述第一实体对象、所述第一管理项、所述至少一个第二实体对象、所述至少一个第二管理项以及所述第一层级关系;以及通过至少一个客户端处理所述第一实体对象的拷贝、所述第一管理项的拷贝、所述至少一个第二实体对象的拷贝、所述至少一个第二管理项的拷贝以及所
述第一层级关系的拷贝;其中,所述至少一个客户端向所述服务端提供所接收的指令,以用于通过所述服务端更新所述第一实体对象、所述第一管理项、所述至少一个第二实体对象、所述至少一个第二管理项或所述第一层级关系;所述至少一个客户端向所述服务端请求同步,以更新所述至少一个客户端各自处理的所述第一实体对象的拷贝、所述第一管理项的拷贝、所述至少一个第二实体对象的拷贝、所述至少一个第二管理项的拷贝以及所述第一层级关系的拷贝。
243.根据本公开的一个或多个实施例,所述服务端包括第一实体对象服务端、第二实体对象服务端以及管理项服务端;所述第一实体对象服务端向所述管理项服务端发送第一创建请求,所述管理项服务端响应于所述第一创建请求为所述第一实体对象创建所述第一管理项并将所述第一实体对象绑定至所述第一管理项;所述第二实体对象服务端向所述管理项服务端发送第二创建请求,所述管理项服务端响应于所述第二创建请求为所述至少一个第二实体对象分别创建所述至少一个第二管理项并将所述至少一个第二实体对象分别绑定至所述至少一个第二管理项;所述管理项服务端基于所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,建立并维护所述第一层级关系。
244.根据本公开的一个或多个实施例,在所述至少一个客户端与所述服务端同步时,响应于所述第一管理项在所述第一层级关系中为所述至少一个第二管理项的父结点,先同步所述第一管理项与所述第一管理项的拷贝,然后同步所述至少一个第二管理项与所述至少一个第二管理项的拷贝。
245.根据本公开的一个或多个实施例,数据处理方法还包括:基于所述变更信息管理条目,对所述至少一个客户端进行同步。
246.根据本公开的一个或多个实施例,基于所述变更信息管理条目,对所述至少一个客户端进行同步,包括:在所述至少一个客户端中确定当前进行同步的目标客户端;接受所述目标客户端进行第一同步的请求;以及在从所述服务端对所述目标客户端进行所述第一同步之后,在所述服务端将所述第一同步中所述服务端发送给所述目标客户端的变更序列号记录为客户端最近变更序列号,在所述目标客户端将所述第一同步中所述服务端发送给所述目标客户端的所述变更序列号记录为客户端最大变更序列号。
247.根据本公开的一个或多个实施例,基于所述变更信息管理条目,对所述至少一个客户端进行同步,还包括:接受所述目标客户端进行第二同步的请求,其中,所述第二同步在时间上与所述第一同步相邻,从所述服务端向所述目标客户端发送所述客户端最近变更序列号以及接受所述第二同步的请求时所述服务端的变更序列号,由所述目标客户端比较所述客户端最近变更序列号与所述客户端最大变更序列号,响应于所述客户端最近变更序列号与所述客户端最大变更序列号相等,将所述目标客户端根据所述客户端最大变更序列号以及所述服务端发送的变更序列号进行所述第二同步,响应于所述客户端最近变更序列号与所述客户端最大变更序列号不等,将所述目标客户端不限于所述客户端最大变更序列号进行所述第二同步。
248.根据本公开的一个或多个实施例,数据处理方法还包括:为所述至少一个第二管理项分别创建至少一个第一顺序条目,以用于记录所述至少一个第二管理项之间的第一排序信息。
249.根据本公开的一个或多个实施例,数据处理方法还包括:根据所述至少一个第一
顺序条目,在所述至少一个第二管理项之间进行第一排序。
250.根据本公开的一个或多个实施例,所述至少一个第一顺序条目分别包括对应的所述第二管理项的第一排序类型信息和/或第一排序权重信息,根据所述至少一个第一顺序条目,在所述至少一个第二管理项之间进行所述第一排序,包括:基于所述至少一个第二管理项对应的所述第一排序类型信息和/或所述第一排序权重信息,在所述至少一个第二管理项之间进行所述第一排序。
251.根据本公开的一个或多个实施例,所述第一排序类型信息包括:所述第二管理项的创建时间、命名字符或更新时间。
252.根据本公开的一个或多个实施例,所述至少一个第二管理项包括多个第二管理项,根据所述至少一个第一顺序条目,在所述至少一个第二管理项之间进行所述第一排序,还包括:对于所述第一排序后的所述多个第二管理项每个分别赋予顺序标识号,其中,所述第一排序后的所述多个第二管理项对应的多个顺序标识号中至少两个不依序递增。
253.根据本公开的一个或多个实施例,所述多个第二管理项对应的多个顺序标识号按照预定间隔递增,所述预定间隔大于1。
254.根据本公开的一个或多个实施例,在对于排序后的所述多个第二管理项每个分别赋予顺序标识号后,根据所述至少一个第一顺序条目,在所述至少一个第二管理项之间进行所述第一排序,还包括:响应于插入一个新的第二管理项,重新进行所述第一排序之后,确定所述新的第二管理项与在所述第一排序中前后紧相邻的两个第二管理项的顺序标识号之间的算术差,如果所述算术差小于或等于所述预定间隔且大于预定偏移,则将所述新的第二管理项的顺序标识号确定为在所述第一排序中前紧相邻的第二管理项的顺序标识号与所述预定偏移之和,其中,所述预定偏移大于等于1且小于所述预定间隔。
255.根据本公开的一个或多个实施例,数据处理方法还包括:为所述至少一个第二管理项分别创建至少一个第二顺序条目,以用于记录所述至少一个第二管理项之间的第二排序信息,其中,所述第二排序信息不同于所述第一排序信息。
256.根据本公开的一个或多个实施例,数据处理方法还包括:根据所述至少一个第二顺序条目,在所述至少一个第二管理项之间进行第二排序。
257.根据本公开的一个或多个实施例,所述至少一个第二顺序条目分别包括对应的所述第二管理项的第二排序类型信息和/或第二排序权重信息,根据所述至少一个第二顺序条目,对所述至少一个第二管理项之间进行所述第二排序,包括:基于所述至少一个第二管理项对应的所述第二排序类型信息和/或所述第二排序权重信息,在所述至少一个第二管理项之间进行所述第二排序。
258.根据本公开的一个或多个实施例,所述至少一个第二管理项包括结点标识信息,所述数据处理方法还包括:响应于建立所述第一管理项与所述至少一个第二管理项之间的所述第一层级关系,更新所述至少一个第二管理项的结点标识信息以指向所述第一管理项。
259.根据本公开的一个或多个实施例,根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系,包括:响应于所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系变更,修改所述第一层级关系。
260.根据本公开的一个或多个实施例,所述逻辑关系变更包括所述第一实体对象被删
除,使得所述第一实体对象与所述至少一个第二实体对象之间不具有关联关系,修改所述第一层级关系,包括:解除所述第一层级关系。
261.根据本公开的一个或多个实施例,所述逻辑关系变更包括所述至少一个第二实体对象每个均被删除,使得所述第一实体对象与所述至少一个第二实体对象之间不具有关联关系,修改所述第一层级关系,包括:解除所述第一层级关系。
262.根据本公开的一个或多个实施例,根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系,包括:响应于所述至少一个第二实体对象的数量的增减,更新所述第一层级关系。
263.根据本公开的一个或多个实施例,所述第一实体对象对应于第一对象集合,所述至少一个第二实体对象分别对应于至少一个第二对象集合,所述数据处理方法还包括:响应于所述至少一个第二实体对象从属于所述第一实体对象,修改所述第一实体对象的数据,使得所述至少一个第二对象集合为所述第一对象集合的子集。
264.根据本公开的一个或多个实施例,响应于所述至少一个第二实体对象从属于所述第一实体对象,所述第一对象集合的成员与所述第二对象集合的成员保持相同。
265.根据本公开的一个或多个实施例,所述第一实体对象的类型不同于所述至少一个第二实体对象的类型。
266.根据本公开的一个或多个实施例,为所述第一实体对象创建所述第一管理项,包括:根据预定管理项模板,基于所述第一实体对象的数据,创建所述第一管理项;为所述至少一个第二实体对象分别创建所述至少一个第二管理项,包括:根据所述预定管理项模板,基于所述至少一个第二实体对象的数据,创建所述至少一个第二管理项。
267.根据本公开的一个或多个实施例,所述管理项模板包括标识信息项目和类型信息项目,所述标识信息项目用于记录绑定至管理项的实体对象的标识信息,所述类型信息项目用于记录绑定至所述管理项的所述实体对象的类型信息。
268.根据本公开的一个或多个实施例,一种电子设备,包括处理器和存储器;所述存储器包括一个或多个计算机可执行指令;其中,所述一个或多个计算机可执行指令被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机可执行指令用于实现本公开任一实施例所述的数据处理方法。
269.根据本公开的一个或多个实施例,一种存储介质,用于存储非暂时性计算机可执行指令,当所述非暂时性计算机可执行指令由处理器执行时可以实现本公开任一实施例所述的数据处理方法。
270.根据本公开的一个或多个实施例,所述至少一个第二实体对象包括多个第二实体对象,所述逻辑关系变更包括所述多个第二实体对象中的一部分第二实体对象被删除,使得所述第一管理项与对应于所述一部分第二实体对象的第二管理项之间的层级关系被解除,且与对应于所述多个第二实体对象中的另一部分第二实体对象的第二管理项之间的层级关系仍保持,修改所述第一层级关系,包括:解除所述第一管理项与对应于所述一部分第二实体对象的第二管理项之间的层级关系,保留所述第一管理项与对应于所述另一部分第二实体对象的第二管理项之间的层级关系。
271.根据本公开的一个或多个实施例,该方法包括以下至少之一:响应于所述至少一个第二实体对象的数量的增加,更新所述第一层级关系,包括:为增加的第二实体对象创建
新的第二管理项且将所述增加的第二实体对象绑定至所述新的第二管理项;以及建立所述第一管理项与所述新的第二管理项之间的层级关系;响应于所述至少一个第二实体对象的数量的减少,更新所述第一层级关系,包括:确定对应于减少的第二实体对象的待操作第二管理项;以及解除所述第一管理项与所述待操作第二管理项之间的层级关系。
272.根据本公开的一个或多个实施例,响应于所述至少一个第二实体对象的数量的增加,更新所述第一层级关系,还包括:基于所述第一管理项的变更信息管理条目,更新所述新的第二管理项的第二变更信息;响应于所述至少一个第二实体对象的数量的减少,更新所述第一层级关系,还包括:在解除所述第一管理项与所述待操作第二管理项之间的层级关系之前,更新所述待操作第二管理项的第二变更信息,以更新所述第一管理项的变更信息管理条目。
273.根据本公开的一个或多个实施例,响应于所述至少一个第二实体对象的数量的减少,更新所述第一层级关系,还包括:删除所述待操作第二管理项。
274.根据本公开的一个或多个实施例,所述第一对象集合的成员为用户,所述第二对象集合的成员为用户。
275.根据本公开的一个或多个实施例,通过对所述第一对象集合的用户的增加操作,相应地对所述第二对象集合的成员进行增加操作,和/或通过对所述第一对象集合的用户的减少操作,相应地对所述第二对象集合的成员进行减少操作。
276.根据本公开的一个或多个实施例,一种数据处理装置,包括:第一管理项处理单元,配置为:为第一实体对象创建第一管理项且将所述第一实体对象绑定至所述第一管理项,其中,所述第一管理项包括所述第一实体对象的第一变更信息;第二管理项处理单元,配置为:为至少一个第二实体对象分别创建至少一个第二管理项且将所述至少一个第二实体对象分别绑定至所述至少一个第二管理项,其中,所述至少一个第二管理项分别包括对应的所述至少一个第二实体对象的第二变更信息;层级关系建立单元,配置为:基于所述第一实体对象与所述至少一个第二实体对象之间的逻辑关系,建立所述第一管理项与所述至少一个第二管理项之间的第一层级关系;以及层级关系维护单元,配置为:根据所述第一实体对象与所述至少一个第二实体对象之间的所述逻辑关系,维护所述第一层级关系。
277.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
278.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
279.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上
面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
280.对于本公开,还有以下几点需要说明:
281.(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
282.(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
283.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献