CN112711636B - 数据同步方法、装置、设备及介质 - Google Patents

数据同步方法、装置、设备及介质 Download PDF

Info

Publication number
CN112711636B
CN112711636B CN202011614209.9A CN202011614209A CN112711636B CN 112711636 B CN112711636 B CN 112711636B CN 202011614209 A CN202011614209 A CN 202011614209A CN 112711636 B CN112711636 B CN 112711636B
Authority
CN
China
Prior art keywords
data
label
subscription
node
ith
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.)
Active
Application number
CN202011614209.9A
Other languages
English (en)
Other versions
CN112711636A (zh
Inventor
刘阳
叶峥铖
周元军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011614209.9A priority Critical patent/CN112711636B/zh
Publication of CN112711636A publication Critical patent/CN112711636A/zh
Application granted granted Critical
Publication of CN112711636B publication Critical patent/CN112711636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据同步方法、装置、设备及介质,涉及数据传输领域。该方法包括:获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签;基于所述订阅标签和所述数据标签在所述目标数据中确定同步数据,所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;向所述数据需求方发送所述同步数据。该方法可以节约数据同步过程的网络流量,提高数据同步效率。

Description

数据同步方法、装置、设备及介质
技术领域
本申请实施例涉及数据传输领域,特别涉及一种数据同步方法、装置、设备及介质。
背景技术
在应用程序运行过程中,服务器与客户端需要进行大量的数据交互。例如,当应用程序启动时,服务器需要向应用程序同步大量数据。
相关技术中,在应用程序启动时,服务器进行全量同步,向客户端发送大量数据。对于业务模型复杂的应用程序,其数据量大,但是热点数据占比相对较少。通常符合二八定律,20%的数据经常被使用,80%的数据使用频率低。如果采用无差别同步方式,启动客户端时,就需要将全量数据下发。客户端获取到的80%的数据可能在整个运行期间都不会被访问。
相关技术中的数据同步方法,浪费网络流量和服务器的计算资源。
发明内容
本申请实施例提供了一种数据同步方法、装置、设备及介质,可以节约数据同步过程的网络流量,提高数据同步效率。所述技术方案如下:
一方面,提供了一种数据同步方法,所述方法包括:
获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签;
基于所述订阅标签和所述数据标签在所述目标数据中确定同步数据,所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;
向所述数据需求方发送所述同步数据。
另一方面,提供了一种数据同步装置,所述装置包括:
获取模块,用于获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签;
确定模块,用于基于所述订阅标签和所述数据标签在所述目标数据中确定同步数据,所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;
发送模块,用于向所述数据需求方发送所述同步数据。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的数据同步方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的数据同步方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的数据同步方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过使用标签标注数据,将数据进行分类,客户端可以向服务器订阅不同的标签,以便服务器根据客户端订阅的标签向客户端发送数据,而不需要同步全量数据。对于使用不频繁使用的数据,可以用标签将其与热点数据相区分。在进行数据同步时,根据客户端订阅的标签,将不频繁使用的数据过滤,保留热点数据,服务器只需要同步热点数据,节约数据同步所需的网络流量,提高数据同步效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构框图;
图2是本申请另一个示例性实施例提供的数据同步方法的方法流程图;
图3是本申请另一个示例性实施例提供的数据同步方法的树结构的示意图;
图4是本申请另一个示例性实施例提供的数据同步方法的树结构的示意图;
图5是本申请另一个示例性实施例提供的数据同步方法的方法流程图;
图6是本申请另一个示例性实施例提供的数据同步方法的树结构的示意图;
图7是本申请另一个示例性实施例提供的数据同步方法的树结构的示意图;
图8是本申请另一个示例性实施例提供的数据同步方法的方法流程图;
图9是本申请另一个示例性实施例提供的数据同步方法的修改数据列表和目标数据列表的示意图;
图10是本申请另一个示例性实施例提供的数据同步方法的方法流程图;
图11是本申请另一个示例性实施例提供的数据同步装置的装置框图;
图12是本申请另一个示例性实施例提供的终端的框图;
图13是本申请另一个示例性实施例提供的服务器的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1给出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统包括:终端101和服务器102。
示例性的,终端101包括智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种;服务器102包括一台服务器、多台服务器(多个网络节点103)、云计算平台和虚拟化中心中的至少一种。
示例性的,终端101运行有客户端,终端101通过客户端与服务器进行数据交互。示例性的,客户端可以是任意类型应用程序的客户端,例如,客户端可以是游戏程序的客户端,游戏程序可以是策略游戏(Strategy Game)、多人在线战术竞技游戏(MultiplayerOnline Battle Arena Games,MOBA)程序、大逃杀射击游戏程序、虚拟现实(VirtualReality,VR)应用程序、增强现实(Augmented Reality,AR)程序、三维地图程序、虚拟现实游戏、增强现实游戏程序、第一人称射击游戏(First-Person Shooting Game,FPS)程序、第三人称射击游戏(Third-Person Shooting Game,TPS)程序、策略游戏(Simulation Game,SLG)程序中的任意一种。
终端101通过无线网络或有线网络与服务器102相连。
服务器102用于为游戏程序的客户端提供后台服务。可选地,服务器102承担主要计算工作,终端承担次要计算工作;或者,服务器102承担次要计算工作,终端承担主要计算工作;或者,服务器102和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器102包括多个网络节点103,例如,服务器102包括主网络节点和从网络节点,不同的网络节点用于处理不同业务的数据。示例性的,客户端与服务器的数据交互通过主网络节点进行,由主网络节点从数据库104中获取数据,采用本申请提供的数据同步方法向客户端同步数据。示例性的,主网络节点还会采用本申请提供的数据同步方法向从网络节点同步数据。示例性的,当数据被修改时,主网络节点还用于将修改后的数据写入数据库104。示例性的,主网络节点包括处理器和存储器,存储器中存储有第一程序,处理器通过调用第一程序来执行本申请提供的数据同步方法。
结合上述对虚拟环境的介绍以及实施环境说明,对本申请实施例提供的数据同步方法进行说明,以该方法的执行主体为图1所示出的服务器(主网络节点)来举例说明。
图2示出了本申请一个示例性实施例提供的数据同步方法的流程图。该方法可以由上述图1中的服务器(主网络节点)来执行。该方法包括:
步骤201,获取目标数据的树结构和数据需求方订阅的订阅标签;目标数据是需要进行数据同步的数据,树结构是根据目标数据的索引逻辑构造的树型结构,树结构中的节点标注有数据标签,订阅标签包括标签集中的至少一个标签,数据标签包括标签集中的至少一个标签。
示例性的,在服务器需要向客户端同步数据,或,主网络节点需要向从网络节点同步数据时,通过执行步骤201至步骤203的方法来从全量数据中筛选出部分数据进行同步。
示例性的,目标数据是本次需要进行同步的全量数据。例如,在客户端刚启动时,服务器需要向客户端同步程序启动的全量数据,例如,程序启动的全量数据包括应用程序各个功能模块的启动数据。再如,在数据被修改时,服务器需要向客户端同步修改后的数据,则目标数据包括被修改的数据所在的数据块中的全部数据。示例性的,目标数据可以是应用数据的全部数据,目标数据也可以是应用程序中某个模块对应的全部数据,目标数据也可以是应用程序中某个进程对应的全部数据,目标数据还可以是应用程序中某个功能对应的全部数据。
示例性的,由于目标数据中多数数据可能并不会被使用,因此,服务器可以根据数据需求方的需求,对目标数据进行筛选,选出数据需求方需要的同步数据,仅向数据需求方发送同步数据即可。
示例性的,对目标数据的筛选是基于树结构进行的。
树结构是根据目标数据的索引逻辑构建的树型结构,其具有根节点、各级父节点以及各级子节点。示例性的,树结构中的父节点是子节点的索引。示例性的,以目标数据的数据结构为map结构为例,其中,根据键值对,key(键)为value(值)的父节点。
例如,如图3所示,示出了一种目标数据的树结构,其中,根节点301为应用数据,根节点301包括四个子节点:热数据、地图数据、温数据和冷数据,地图数据包括三个子节点:地图1、地图2和地图3;地图2包括五个子节点:标识、热数据、温数据1、温数据2以及冷数据。
示例性的,数据需求方包括客户端、网络节点(从网络节点)中的至少一种。示例性的,当数据需求方为客户端时,该方法可以由服务器来执行,也可以由服务器中的主网络节点执行。示例性的,当数据需求方为网络节点(从网络节点)时,该方法可以由主网络节点执行。
示例性的,订阅标签和数据标签取自同一个标签集。示例性的,服务器采用标签集中的标签(数据标签)标注数据,依据数据需求方的需要,确定数据需求方的订阅标签。
示例性的,目标数据的树结构中存在至少一个节点标注有数据标签。示例性的,数据需求方的订阅标签包括至少一个标签。示例性的,数据需求方的订阅标签也可以为空,当数据需求方的订阅标签为空时,数据需求方会接收到全部的目标数据,或,数据需求方不会接收到目标数据中的任何一个数据。
例如,如图4所示,对于图3的树结构,根节点301标注有数据标签:None(无),地图数据节点304标注有数据标签:None,温数据节点302标注有数据标签:+noWarm(不要温数据),冷数据节点303标注有数据标签:+noCold(不要冷数据),地图2节点标注有数据标签:None,温数据1节点标注有数据标签:+noWarm,温数据2节点标注有数据标签:+noWarm,冷数据节点305标注有数据标签:+noCold。
示例性的,标签集中的标签划分可以是任意的,例如,可以根据数据被使用的频率将数据划分为冷数据、温数据和热数据;再如,还可以根据数据允许被获取的权限,将数据划分为一级数据、二级数据和三级数据。服务器可以采用任意的数据划分方式得到标签集中的标签。
示例性的,树结构中的节点可以标注有数据标签,也可以不标注数据标签(不标注数据标签的节点可以默认该节点的数据标签为“无”)。示例性的,树结构中标注有数据标签的节点,其数据标签的数量可以是任意的,一个节点可以标注一个数据标签也可以标注多个数据标签。
步骤202,基于订阅标签和数据标签在目标数据中确定同步数据,同步数据在树结构中对应的节点的数据标签与订阅标签具有关联关系。
示例性的,根据数据需求方订阅的订阅标签,以及树结构中各个节点标注的数据标签,通过判断订阅标签与数据标签的关联关系,来确定该节点对应的数据是否为同步数据。
步骤203,向数据需求方发送同步数据。
综上所述,本实施例提供的方法,通过使用标签标注数据,将数据进行分类,客户端可以向服务器订阅不同的标签,以便服务器根据客户端订阅的标签向客户端发送数据,而不需要同步全量数据。对于使用不频繁使用的数据,可以用标签将其与热点数据相区分。在进行数据同步时,根据客户端订阅的标签,将不频繁使用的数据过滤,保留热点数据,服务器只需要同步热点数据,节约数据同步所需的网络流量,提高数据同步效率。
示例性的,给出一种根据数据需求方发送的数据获取请求来进行数据同步的示例性实施例。
图5示出了本申请一个示例性实施例提供的数据同步方法的流程图。该方法可以由上述图1中的服务器(主网络节点)来执行。基于图2所示的实施例,在步骤201之前还包括步骤401,步骤201还包括步骤2011。
步骤401,接收数据需求方发送的数据获取请求,数据获取请求用于请求获取目标进程的数据。
示例性的,数据需求方在需要获取数据时,会向服务器发送数据获取请求,数据获取请求包括数据需求方的标识、目标进程的标识。
示例性的,目标进程可以是启动应用程序的进程、启动应用程序中某一功能的进程、显示某一页面的进程等等。
示例性的,服务器接收数据获取请求,根据数据需求方的标识,对应获取该数据需求方的订阅标签。
步骤2011,根据数据获取请求,获取目标进程对应的目标数据的树结构,以及数据需求方订阅的订阅标签。
示例性的,服务器中存储有各个数据需求方的订阅标签,服务器根据数据获取请求中数据需求方的标识,对应获取数据需求方的订阅标签,根据目标进程的标识,获取目标进程相关的目标数据。
示例性的,数据需求方的订阅标签包括数据需求方主动订阅的标签,以及服务器为数据需求方标注的标签。
例如,服务器接收数据需求方发送的订阅请求,订阅请求用于请求订阅第一标签的数据;将第一标签添加至数据需求方的白名单中;或,接收数据需求方发送的订阅请求,订阅请求用于请求订阅第一标签的数据;将第一标签从数据需求方的黑名单中删除。
再如,响应于数据需求方获得第二标签的数据的获取权限,将第二标签添加至数据需求方的白名单中;或,响应于数据需求方获得第二标签的数据的获取权限,将第二标签从数据需求方的黑名单中删除。
步骤202,从树结构的根节点开始自上而下遍历树结构,将树结构中数据标签与订阅标签具有关联关系的节点对应的数据,确定为同步数据。
示例性的,订阅标签包括白名单和黑名单中的至少一种,白名单中的标签用于确定数据需求方需要的数据,黑名单中的标签用于确定数据需求方不需要的数据。
响应于订阅标签包括白名单,关联关系包括:白名单中的标签中包含数据标签;同步数据包括树结构中数据标签与白名单中的至少一个标签相同的节点对应的数据;
响应于订阅标签包括黑名单,关联关系包括:黑名单中的标签不包含数据标签;同步数据包括树结构中数据标签与黑名单中任意一个标签不相同的节点对应的数据;
响应于订阅标签包括白名单和黑名单,关联关系包括:白名单中的标签中包含数据标签,且,黑名单中的标签不包含数据标签;同步数据包括:树结构中数据标签与白名单中的至少一个标签相同,且数据标签与黑名单中的任意一个标签不相同的节点对应的数据。
即,当数据需求方的订阅标签为白名单时,服务器将树结构中具有订阅标签的节点的数据确定为同步数据;当数据需求方的订阅标签为黑名单时,服务器将树结构中不具有订阅标签的节点的数据确定为同步数据;当数据需求方的订阅标签包括白名单和黑名单时,服务器将树结构中具有白名单的标签且不具有黑名单的标签的节点的数据确定为同步数据。
示例性的,响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,继续遍历第i个父节点的子节点,将子节点中数据标签与订阅标签具有关联关系的节点对应的数据确定为同步数据,i是正整数;
响应于订阅标签与树结构中第i个父节点的数据标签不具有关联关系,且存在与第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历第i+1个父节点,将第i+1个父节点及第i+1个父节点的子节点中,数据标签与订阅标签具有关联关系的节点对应的数据确定为同步数据,i是正整数;
响应于订阅标签与树结构中第i个父节点的数据标签不具有关联关系,且不存在与第i个父节点同级且未被遍历的父节点,停止遍历。
示例性的,节点还标注有树标签,树标签用于标注节点的子节点的数据标签;响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,订阅标签为黑名单,且第i个父节点的树标签与订阅标签不具有关联关系,则继续遍历第i个父节点的子节点,将子节点中数据标签与订阅标签具有关联关系的节点对应的数据确定为同步数据;
响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,订阅标签为白名单,且第i个父节点的树标签与订阅标签具有关联关系,则继续遍历第i个父节点的子节点,将子节点中数据标签与订阅标签具有关联关系的节点对应的数据确定为同步数据。
响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,订阅标签为黑名单,第i个父节点的树标签与订阅标签具有关联关系,将第i个父节点以及第i个父节点的子节点对应的数据确定为同步数据;
响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,订阅标签为白名单,第i个父节点的树标签与订阅标签不具有关联关系,且存在与第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历第i+1个父节点,将第i+1个父节点及第i+1个父节点的子节点中,数据标签与订阅标签具有关联关系的节点对应的数据确定为同步数据;
响应于订阅标签与树结构中第i个父节点的数据标签具有关联关系,订阅标签为白名单,第i个父节点的树标签与订阅标签不具有关联关系,且不存在与第i个父节点同级且未被遍历的父节点,停止遍历。
示例性的,按照自上而下的顺序,依次遍历树结构中的各个节点,判断各个节点的数据标签与订阅标签是否存在关联关系,将存在关联关系的节点对应的数据确定为同步数据。
示例性的,每个节点的标签包括数据标签和树标签,数据标签用于标注该节点的类型,树标签用于标注该节点下的子节点的类型。示例性的,一个节点的树标签等于其子节点的数据标签之和(去重后的数据标签)。
例如,如图6中的(1)所示,根节点301下的子节点的数据标签包括+noWarm和+noCold,则根节点301的树标签为+noWarm,+noCold。地图数据节点下的子节点的数据标签包括+noWarm和+noCold,则地图数据节点的树标签为+noWarm,+noCold。
示例性的,根据节点的树标签,服务器可以快速判断该节点下的子节点的数据标签的标注情况,若树标签与订阅标签不具有关联关系,则该节点下的子节点与订阅标签都不具有关联关系,服务器可以直接跳过对该节点的子节点的遍历,提高服务器的筛选速度。
如图6所示,以数据需求方的订阅标签为黑名单为例,假设黑名单中的标签为+noWarm和+noCold,即,数据需求方不要标注有+noWarm或+noCold的节点。则,对于根节点301,其数据标签为None,不包含+noWarm或+noCold,与订阅标签具有关联关系,其树标签为+noWarm,+noCold,与订阅标签不具有关联关系,则继续遍历根节点301的子节点。根节点301的子节点中,热数据节点不具有数据标签和树标签,即,热数据节点的数据标签和树标签皆为None,与订阅标签具有关联关系,则将热数据节点(及其子节点)对应的数据确定为同步数据。地图数据节点的数据标签为None,与订阅标签具有关联关系,树标签为+noWarm,+noCold,与订阅标签不具有关联关系,则继续遍历地图数据的子节点。地图1节点的数据标签为None,与订阅标签具有关联关系,树标签为+noWarm,+noCold,与订阅标签不具有关联关系,则继续遍历地图1节点的子节点。示例性的,图中未画出地图1节点的子节点,本实施例中以地图2节点的子节点为例进行说明,地图1节点地图3节点同地图2节点。地图2节点的子节点中标识节点、热数据节点的数据标签与订阅标签具有关联关系,温数据1节点、温数据2节点以及冷数据节点的数据标签与订阅标签不具有关联关系,则将标识节点、热数据节点对应的数据确定为同步数据。然后继续遍历根节点301的子节点:温数据节点,温数据节点的数据标签与订阅标签不具有关联关系,继续遍历根节点的子节点:冷数据节点,冷数据节点的数据标签与订阅标签不具有关联关系,且没有与冷数据节点同级的未遍历过的父节点,因此停止遍历。最终得到如图6中的(2)所示的标签树,标签树中的数据即为根据订阅标签和数据标签确定出的同步数据。
再如,如图7所示,以数据需求方的订阅标签为黑名单为例,数据需求方订阅的订阅标签为+noCold,根据如图7中的(1)所示的目标数据的树结构,及其树结构中各个节点标注的数据标签以及树标签,将与订阅标签具有关联关系的数据标签对应的节点筛选出来可以得到如图7中的(2)所示的标签树。示例性的,当订阅标签是黑名单中的+noCold时,关联关系为:数据标签或树标签中不包括+noCold则数据标签与订阅标签存在关联关系。以此,由于根节点301的数据标签不存在+noCold,且树标签存在+noCold,则数据标签具有关联关系,而树标签不具有关联关系,因此,继续遍历根节点301的子节点。根据关联关系可以确定根节点301的子节点:热数据节点、温数据节点的数据标签、树标签与订阅标签都具有关联关系,因此,这两个节点对应的数据为同步数据;而根节点301的子节点:冷数据节点的数据标签与订阅标签不具有关联关系,因此,不属于同步数据。地图数据节点的数据标签与订阅标签具有关联关系,而树标签不具有关联关系,因此,继续遍历地图数据节点的子节点。以地图2节点为例(地图1节点和地图3节点的标签以及子节点构成同地图2节点),地图2节点的数据标签与订阅标签具有关联关系,而树标签不具有关联关系,因此,继续遍历地图2节点的子节点。其中,标识节点、热数据节点、温数据1节点和温数据2节点的数据标签和树标签都与订阅标签存在关联关系,因此,标识节点、热数据节点、温数据1节点和温数据2节点对应的数据为同步数据。而冷数据节点的数据标签与订阅标签不具有关联关系,因此不属于同步数据,最终得到如图7中的(2)所示的标签树,标签树中的数据为根据订阅标签+noCold筛选出的同步数据。
示例性的,本实施例中仅以+noCold、+noWarm为例进行举例说明,基于本实施例提供的方法,本领域技术人员可以使用更多数量的其他标签来进行同步数据的筛选,各标签的含义及标签形式可以是任意的。
步骤203,向数据需求方发送同步数据。
综上所述,本实施例提供的方法,通过对节点标注树标签,使服务器可以根据树标签来初步判断该节点下的子节点的数据标签的标注情况,从而便于服务器根据树标签来确定子节点中是否可能存在需要同步的数据,当根据树标签可以确定不存在需要同步的数据时,服务器就可以跳过该节点的子节点,继续遍历其他节点,提高服务器的数据筛选效率。
本实施例提供的方法,通过设置订阅白名单和订阅黑名单,使服务器可以根据客户端订阅的标签,进行正向选择或逆向选择,丰富服务器根据订阅标签确定同步数据的可实现方式,使服务器能够实现逻辑更为复杂的数据筛选。
本实施例提供的方法,提供了一种基于标签的数据结构,根据数据的标签以及订阅机制,可以通过代码自动生成技术,零开发成本地实现按数据需求方的需要进行数据的全量同步或增量同步,不需要针对不同数据块分别开发对应的数据同步逻辑,服务器无需按照不同逻辑处理不同数据块的数据同步问题,降低数据同步逻辑的开发难度,提高复杂业务模型应用程序的开发效率和运行效率。
示例性的,给出一种在发生数据修改时,向数据需求方同步修改数据的示例性实施例。
图8示出了本申请一个示例性实施例提供的数据同步方法的流程图。该方法可以由上述图1中的服务器(主网络节点)来执行。基于图2所示的实施例,在步骤201之前还包括步骤501,步骤202还包括步骤2021。
步骤501,响应于目标数据中至少一条数据被修改,将被修改数据在树结构中对应的第一节点及第一节点的各级父节点标记为脏数据。
示例性的,服务器仅在首次数据同步时,会根据数据需求方订阅的订阅标签向数据需求方发送订阅标签的全量数据;在后续进程中,如果订阅标签对应的数据发生了修改,仅需对修改数据进行标脏(标记脏数据),根据标记的脏数据以及订阅标签向数据需求方进行增量同步,同步订阅标签对应的数据中发生修改的部分数据。
示例性的,在应用程序运行过程中,会发生数据的修改,例如,根据接收到的用户操作会发生数据修改,或,根据应用程序的逻辑运算过程,会发生数据的修改。
当发生数据修改时,服务器需要向客户端和各个网络节点同步修改后的数据,在同步修改数据的过程中也可以采用本申请提供的数据同步方法进行数据同步。
以修改的数据是目标数据中的至少一条数据为例,被修改的数据在目标数据中对应有一个叶子节点,将叶子节点以及该叶子节点上级的各级父节点标注为脏数据。
例如,如图3所示,以被修改数据为热数据节点的数据为例,将热数据节点、热数据节点的父节点:地图2节点、地图2节点的父节点:地图数据节点、地图数据节点的父节点:应用数据节点标记为脏数据。
步骤201,获取目标数据的树结构和数据需求方订阅的订阅标签;目标数据是需要进行数据同步的数据,树结构是根据目标数据的索引逻辑构造的树型结构,树结构中的节点标注有数据标签,订阅标签包括标签集中的至少一个标签,数据标签包括标签集中的至少一个标签。
步骤2021,基于订阅标签、数据标签和脏数据在目标数据中确定同步数据。
示例性的,服务器从树结构的根节点开始自上而下遍历树结构,将树结构中数据标签与订阅标签具有关联关系,且被标记为脏数据的节点对应的数据确定为同步数据。
示例性的,在图5所示的实施例基于订阅标签和数据标签确定同步数据的方法的基础上,更加脏数据的限制,将满足关联关系并且被标记为脏数据的节点对应的数据确定为同步数据。
即,若数据需求方所订阅的数据发生修改,则会向数据需求方同步修改字段的数据及其key数据,若发生修改的数据不是数据需求方所订阅的数据,则不会向数据需求方同步修改的数据。
示例性的,对于发生修改的数据,在向客户端/网络节点同步数据的同时,还需要将修改的数据写入数据库进行存储。由于数据库仅具有数据存取功能,不具有数据合并的功能,因此,需要由服务器将修改的数据与原数据进行合并得到新的原数据,然后将新的原数据写入数据库进行存储。
示例性的,将脏数据缓存入修改数据列表,修改数据列表用于缓存目标数据中被修改的数据;响应于修改数据列表中的数据量达到阈值,将修改数据列表合并入目标数据列表,清空修改数据列表,目标数据列表用于存储所以目标数据;将合并后的目标数据列表写入数据库。
即,如图9所示,服务器中维护有两个数据列表;修改数据列表601和目标数据列表602,修改数据列表601用于存放目标数据中修改的数据,目标数据列表602用于存放目标数据,每当目标数据中有数据被修改,服务器就将被修改的字段存入修改数据列表601中,并检测修改数据列表601中的数据量是否达到阈值,当修改数据列表中的数据量达到阈值,服务器将修改数据列表中的数据合并到目标数据列表中,得到用修改数据替换原数据的新的目标数据,将新的目标数据存入数据库中,并清空修改数据列表。
步骤203,向数据需求方发送同步数据。
示例性的,数据需求方在接收到服务器发送的修改数据的同步数据时,将同步数据与本地数据进行合并,得到完整数据。
以数据需求方是客户端为例,例如,客户端的订阅标签为第一标签,在客户端启动时,服务器根据第一标签从应用程序的总数据中获取第一标签对应的第一数据,向客户端全量同步第一数据。当第一数据中的第一字段发生修改时,服务器对第一字段在第一数据的树结构中对应的节点以及父节点进行标脏,然后根据标记的脏数据从第一数据中筛选出修改数据,向客户端同步修改数据。客户端接收到修改数据后,将本地存储的第一数据与修改数据进行合并,得到新的第一数据。
综上所述,本实施例提供的方法,通过在发生数据修改时,采用标脏的方法在目标数据的树结构中标出与修改数据相关的节点,然后根据订阅标签、数据标签以及脏数据来确定向每个数据需求方同步的数据,减少每次数据修改需要向数据需求方同步的数据量,提高数据同步效率。
示例性的,给出一种应用本申请提供的数据同步方法进行客户端、服务器、数据库间数据同步的示例性实施例。
图10示出了本申请一个示例性实施例提供的数据同步方法的流程图。该方法包括以下步骤。
步骤701,客户端启动时,向服务器发送数据获取请求,数据获取请求中包括客户端的标识以及启动进程的标识。
步骤702,服务器接收客户端发送的获取请求,根据启动进程的标识到数据库中拉取程序启动相关的目标数据。
步骤703,数据库向服务器发送程序启动相关的目标数据。
步骤704,服务器根据客户端的标识,确定客户端的订阅标签,例如,客户端的订阅标签为订阅了热点数据,则服务器根据订阅标签从目标数据中筛选出热点数据,向客户端同步热点数据。
步骤705,客户端向服务器发送用户操作。
步骤706,服务器根据用户操作修改相关数据,并将修改数据在树结构中进行标脏、以及各级父节点的路径染色(将父节点标记为脏数据),然后从根据标记的脏数据、客户端的订阅标签从树结构中自上而下进行遍历,确定同步数据。
步骤707,服务器将修改数据写入数据库进行存储。
步骤708,服务器向客户端发送同步数据。
步骤709,客户端在接收到同步数据后,将同步数据合并到原数据中。
步骤710,客户端向服务器发送订阅第一标签的请求。
步骤711,服务器根据第一标签从树结构中确定第一标签的数据,向客户端同步第一标签的数据。
步骤712,第一标签的数据中发生了数据修改。
步骤713,服务器向客户端同步第一标签的数据中被修改的数据。
步骤714,客户端接收到修改的数据后,将修改的数据合并到第一标签的数据中。
步骤715,客户端向服务器发送取消订阅第一标签的请求。
步骤716,当第一标签的数据发生变化时,服务器不再向客户端进行数据同步。
示例性的,采用TLV(Type Length Value,类型、长度、值)格式定义数据,通过代码运行生成脚本,进而生成内存态数据、pb结构协议数据。例如,部分数据定义如下:
@MapEntry
@AppData+listenable,+root
示例性的,数据定义支持byte、char、int32、int64、float、double、String、BinaryString等基本类型;支持array、set、map、oneof等集合类型,集合类型可以任意嵌套。
通过运行代码生成工具,上面的数据结构可以生成.proto文件和.java文件。.proto文件采用protobuf2.0语法,用于数据的网络传输和持久化存储。.java文件提供数据的操作接口,数据打解包接口,脏数据收集合并接口,数据比较接口等。
示例性的,可以对数据标注LOD(Levels of Detail,多细节层次)标签或功能性标签。LOD标签用于标注数据的使用频繁度。对于复杂数据模型的应用程序,采用LOD同步技术同样重要。该种类型的应用程序数据结构复杂,数据量大,热点数据占比较少。通常复合二八定律,既20%的数据经常被使用,80%的数据使用频率较低,或仅在特定场景下才会使用。因此,采用LOD标签对数据进行标注,软件开发者定义数据模型时,可以为每个字段自定义不同的标签。客户端启动后,仅同步热点数据,从而解决了初次打开应用程序时,同步量过大的问题;如果客户端不需要相关数据,后续的修改也不会进行同步,进一步节约流量。
对于某些敏感数据,仅当客户端拥有特定权限时,客户端才能查看,对于这部分数据,同样可以使用LOD标签来进行标注,进而实现限制客户端对部分数据的查阅权限。
示例性的,功能性标签是指有特定功能的标签,例如,+listenable标签:加上+listenable标签后,会为内存对象生成修改回调接口,应用程序开发者可以注册该接口,实现数据修改后的自动化同步功能。+key标签:map结构数据要求必须有key字段。+one of标签:结构体是union结构。+deletable标签:某些数据使用完成后,可能就不在需要了,对这部分数据标注+deletable标签,在数据使用后,彻底将其删除。
综上所述,本实施例提供的方法,实现了一种最小化同步的解决方案,通过自动代码生成技术,零开发成本实现真正的按需同步。增量同步的粒度可以精确到字段,实现修改哪个字段,同步哪个字段。通过标签区分热点数据和非热点数据,非热点数据默认不同步,仅客户端需要时同步。真正做到无网络流量浪费,无开发成本,极大的提高了复杂业务模型应用程序的开发效率和运行效率。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
图11是本申请一个示例性实施例提供的数据同步装置的框图。所述装置包括:
获取模块801,用于获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签;
确定模块802,用于基于所述订阅标签和所述数据标签在所述目标数据中确定同步数据,所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;
发送模块803,用于向所述数据需求方发送所述同步数据。
在一个可选的实施例中,所述确定模块802,用于从所述树结构的根节点开始自上而下遍历所述树结构,将所述树结构中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据,确定为所述同步数据。
在一个可选的实施例中,所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历。
在一个可选的实施例中,所述节点还标注有树标签,所述树标签用于标注所述节点的子节点的所述数据标签;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为黑名单,且所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,且所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据。
在一个可选的实施例中,所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为黑名单,所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,将所述第i个父节点以及所述第i个父节点的子节点对应的数据确定为所述同步数据;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;
所述确定模块802,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历。
在一个可选的实施例中,所述订阅标签包括白名单和黑名单中的至少一种,所述白名单中的标签用于确定所述数据需求方需要的数据,所述黑名单中的标签用于确定所述数据需求方不需要的数据;
响应于所述订阅标签包括所述白名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述白名单中的至少一个标签相同的节点对应的数据;
响应于所述订阅标签包括所述黑名单,所述关联关系包括:所述黑名单中的标签不包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述黑名单中任意一个标签不相同的节点对应的数据;
响应于所述订阅标签包括所述白名单和所述黑名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签,且,所述黑名单中的标签不包含所述数据标签;所述同步数据包括:所述树结构中所述数据标签与所述白名单中的至少一个标签相同,且所述数据标签与所述黑名单中的任意一个标签不相同的节点对应的数据。
在一个可选的实施例中,所述装置还包括:
接收模块804,用于接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅第一标签的数据;
标签模块805,用于将所述第一标签添加至所述数据需求方的所述白名单中;
或,
所述接收模块804,用于接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅所述第一标签的数据;
所述标签模块805,用于将所述第一标签从所述数据需求方的所述黑名单中删除。
在一个可选的实施例中,所述装置还包括:
标签模块805,用于响应于所述数据需求方获得第二标签的数据的获取权限,将所述第二标签添加至所述数据需求方的所述白名单中;
或,
所述标签模块805,用于响应于所述数据需求方获得所述第二标签的数据的获取权限,将所述第二标签从所述数据需求方的所述黑名单中删除。
在一个可选的实施例中,所述装置还包括:
标脏模块806,用于响应于所述目标数据中至少一条数据被修改,将被修改数据在所述树结构中对应的第一节点及所述第一节点的各级父节点标记为脏数据;
所述确定模块802,用于基于所述订阅标签、所述数据标签和所述脏数据在所述目标数据中确定所述同步数据。
在一个可选的实施例中,所述确定模块802,用于从所述树结构的根节点开始自上而下遍历所述树结构,将所述树结构中所述数据标签与所述订阅标签具有所述关联关系,且被标记为所述脏数据的节点对应的数据确定为所述同步数据。
在一个可选的实施例中,所述装置还包括:
缓存模块807,用于将所述脏数据缓存入修改数据列表,所述修改数据列表用于缓存所述目标数据中被修改的数据;
合并模块808,用于响应于所述修改数据列表中的数据量达到阈值,将所述修改数据列表合并入目标数据列表,清空所述修改数据列表,所述目标数据列表用于存储所以目标数据;
写入模块809,用于将合并后的所述目标数据列表写入数据库。
在一个可选的实施例中,所述装置还包括:
接收模块804,用于接收所述数据需求方发送的数据获取请求,所述数据获取请求用于请求获取目标进程的数据;
所述获取模块801,用于根据所述数据获取请求,获取所述目标进程对应的目标数据的树结构,以及所述数据需求方订阅的所述订阅标签。
需要说明的是:上述实施例提供的数据同步装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的数据同步方法。需要说明的是,该终端可以是如下图12所提供的终端。
图12出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的数据同步方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107和电源1108中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
电源1108用于为终端1100中的各个组件进行供电。电源1108可以是交流电、直流电、一次性电池或可充电电池。当电源1108包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1109。该一个或多个传感器1109包括但不限于:加速度传感器1110、陀螺仪传感器1111、压力传感器1112、光学传感器1113以及接近传感器1114。
加速度传感器1110可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1110可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1110采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1110还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1111可以检测终端1100的机体方向及转动角度,陀螺仪传感器1111可以与加速度传感器1110协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1111采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1112可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1112设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1112采集的握持信号进行左右手识别或快捷操作。当压力传感器1112设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1113用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1113采集的环境光强度,控制、显示屏1105的显示亮度。具体地,当环境光强度较高时,调高、显示屏1105的显示亮度;当环境光强度较低时,调低、显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1113采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1114,也称距离传感器,通常设置在终端1100的前面板。接近传感器1114用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1114检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制、显示屏1105从亮屏状态切换为息屏状态;当接近传感器1114检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制、显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的数据同步方法。
图13是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1200包括中央处理单元(英文:Central Processing Unit,简称:CPU)1201、包括随机存取存储器(英文:Random Access Memory,简称:RAM)1202和只读存储器(英文:Read-Only Memory,简称:ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中显示器1208和输入设备1209都通过连接到系统总线1205的输入/输出控制器1210连接到中央处理单元1201。基本输入/输出系统1206还可以包括输入/输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1207可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的数据同步方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的数据同步方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

1.一种数据同步方法,其特征在于,所述方法包括:
获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签和树标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签,所述数据标签用于标注节点的类型,所述树标签用于标注所述节点下的子节点的数据标签之和;
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有关联关系,所述订阅标签为黑名单,且所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;所述黑名单中的标签用于确定所述数据需求方不需要的数据;
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,且所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;所述白名单中的标签用于确定所述数据需求方需要的数据;
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历;所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;
向所述数据需求方发送所述同步数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为黑名单,所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,将所述第i个父节点以及所述第i个父节点的子节点对应的数据确定为所述同步数据;
所述响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,包括:
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;
所述响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历,包括:
响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历。
3.根据权利要求1或2所述的方法,其特征在于,所述订阅标签包括白名单和黑名单中的至少一种;
响应于所述订阅标签包括所述白名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述白名单中的至少一个标签相同的节点对应的数据;
响应于所述订阅标签包括所述黑名单,所述关联关系包括:所述黑名单中的标签不包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述黑名单中任意一个标签不相同的节点对应的数据;
响应于所述订阅标签包括所述白名单和所述黑名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签,且,所述黑名单中的标签不包含所述数据标签;所述同步数据包括:所述树结构中所述数据标签与所述白名单中的至少一个标签相同,且所述数据标签与所述黑名单中的任意一个标签不相同的节点对应的数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅第一标签的数据;
将所述第一标签添加至所述数据需求方的所述白名单中;
或,
接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅所述第一标签的数据;
将所述第一标签从所述数据需求方的所述黑名单中删除。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于所述数据需求方获得第二标签的数据的获取权限,将所述第二标签添加至所述数据需求方的所述白名单中;
或,
响应于所述数据需求方获得所述第二标签的数据的获取权限,将所述第二标签从所述数据需求方的所述黑名单中删除。
6.根据权利要求1或2所述的方法,其特征在于,获取数据同步所需的目标数据的树结构,以及数据需求方订阅的订阅标签之前,还包括:
响应于所述目标数据中至少一条数据被修改,将被修改数据在所述树结构中对应的第一节点及所述第一节点的各级父节点标记为脏数据;
基于所述订阅标签和所述数据标签在所述目标数据中确定同步数据,包括:
基于所述订阅标签、所述数据标签和所述脏数据在所述目标数据中确定所述同步数据。
7.根据权利要求6所述的方法,其特征在于,所述基于所述订阅标签、所述数据标签和所述脏数据在所述目标数据中确定所述同步数据,包括:
从所述树结构的根节点开始自上而下遍历所述树结构,将所述树结构中所述数据标签与所述订阅标签具有所述关联关系,且被标记为所述脏数据的节点对应的数据确定为所述同步数据。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述脏数据缓存入修改数据列表,所述修改数据列表用于缓存所述目标数据中被修改的数据;
响应于所述修改数据列表中的数据量达到阈值,将所述修改数据列表合并入目标数据列表,清空所述修改数据列表,所述目标数据列表用于存储所以目标数据;
将合并后的所述目标数据列表写入数据库。
9.根据权利要求1或2所述的方法,其特征在于,所述获取目标数据的树结构和数据需求方订阅的订阅标签之前,还包括:
接收所述数据需求方发送的数据获取请求,所述数据获取请求用于请求获取目标进程的数据;
所述获取目标数据的树结构和数据需求方订阅的订阅标签,包括:
根据所述数据获取请求,获取所述目标进程对应的目标数据的树结构,以及所述数据需求方订阅的所述订阅标签。
10.一种数据同步装置,其特征在于,所述装置包括:
获取模块,用于获取目标数据的树结构和数据需求方订阅的订阅标签;所述目标数据是需要进行数据同步的数据,所述树结构是根据所述目标数据的索引逻辑构造的树型结构,所述树结构中的节点标注有数据标签和树标签,所述订阅标签包括标签集中的至少一个标签,所述数据标签包括所述标签集中的至少一个标签,所述数据标签用于标注节点的类型,所述树标签用于标注所述节点下的子节点的数据标签之和;
确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有关联关系,所述订阅标签为黑名单,且所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;所述黑名单中的标签用于确定所述数据需求方不需要的数据;
所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,且所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,则继续遍历所述第i个父节点的子节点,将所述子节点中所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;所述白名单中的标签用于确定所述数据需求方需要的数据;
所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据,i是正整数;
所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历;所述同步数据在所述树结构中对应的节点的所述数据标签与所述订阅标签具有关联关系;
发送模块,用于向所述数据需求方发送所述同步数据。
11.根据权利要求10所述的装置,其特征在于,所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为黑名单,所述第i个父节点的所述树标签与所述订阅标签具有所述关联关系,将所述第i个父节点以及所述第i个父节点的子节点对应的数据确定为所述同步数据;
所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且存在与所述第i个父节点同级且未被遍历过的第i+1个父节点,继续遍历所述第i+1个父节点,将所述第i+1个父节点及所述第i+1个父节点的子节点中,所述数据标签与所述订阅标签具有所述关联关系的节点对应的数据确定为所述同步数据;
所述确定模块,用于响应于所述订阅标签与所述树结构中第i个父节点的所述数据标签具有所述关联关系,所述订阅标签为白名单,所述第i个父节点的所述树标签与所述订阅标签不具有所述关联关系,且不存在与所述第i个父节点同级且未被遍历的父节点,停止遍历。
12.根据权利要求10或11所述的装置,其特征在于,所述订阅标签包括白名单和黑名单中的至少一种;
响应于所述订阅标签包括所述白名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述白名单中的至少一个标签相同的节点对应的数据;
响应于所述订阅标签包括所述黑名单,所述关联关系包括:所述黑名单中的标签不包含所述数据标签;所述同步数据包括所述树结构中所述数据标签与所述黑名单中任意一个标签不相同的节点对应的数据;
响应于所述订阅标签包括所述白名单和所述黑名单,所述关联关系包括:所述白名单中的标签中包含所述数据标签,且,所述黑名单中的标签不包含所述数据标签;所述同步数据包括:所述树结构中所述数据标签与所述白名单中的至少一个标签相同,且所述数据标签与所述黑名单中的任意一个标签不相同的节点对应的数据。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:接收模块和标签模块;
所述接收模块,用于接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅第一标签的数据;
所述标签模块,用于将所述第一标签添加至所述数据需求方的所述白名单中;
或,
所述接收模块,用于接收所述数据需求方发送的订阅请求,所述订阅请求用于请求订阅所述第一标签的数据;
所述标签模块,用于将所述第一标签从所述数据需求方的所述黑名单中删除。
14.根据权利要求13所述的装置,其特征在于,
所述标签模块,用于响应于所述数据需求方获得第二标签的数据的获取权限,将所述第二标签添加至所述数据需求方的所述白名单中;
或,
所述标签模块,用于响应于所述数据需求方获得所述第二标签的数据的获取权限,将所述第二标签从所述数据需求方的所述黑名单中删除。
15.根据权利要求10或11所述的装置,其特征在于,所述装置还包括标脏模块;
所述标脏模块,用于响应于所述目标数据中至少一条数据被修改,将被修改数据在所述树结构中对应的第一节点及所述第一节点的各级父节点标记为脏数据;
所述确定模块,用于基于所述订阅标签、所述数据标签和所述脏数据在所述目标数据中确定所述同步数据。
16.根据权利要求15所述的装置,其特征在于,所述确定模块,用于从所述树结构的根节点开始自上而下遍历所述树结构,将所述树结构中所述数据标签与所述订阅标签具有所述关联关系,且被标记为所述脏数据的节点对应的数据确定为所述同步数据。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括缓存模块、合并模块、写入模块;
所述缓存模块,用于将所述脏数据缓存入修改数据列表,所述修改数据列表用于缓存所述目标数据中被修改的数据;
所述合并模块,用于响应于所述修改数据列表中的数据量达到阈值,将所述修改数据列表合并入目标数据列表,清空所述修改数据列表,所述目标数据列表用于存储所以目标数据;
所述写入模块,用于将合并后的所述目标数据列表写入数据库。
18.根据权利要求10或11所述的装置,其特征在于,接收模块,用于接收所述数据需求方发送的数据获取请求,所述数据获取请求用于请求获取目标进程的数据;
所述获取模块,用于根据所述数据获取请求,获取所述目标进程对应的目标数据的树结构,以及所述数据需求方订阅的所述订阅标签。
19.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的数据同步方法。
20.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的数据同步方法。
CN202011614209.9A 2020-12-30 2020-12-30 数据同步方法、装置、设备及介质 Active CN112711636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011614209.9A CN112711636B (zh) 2020-12-30 2020-12-30 数据同步方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011614209.9A CN112711636B (zh) 2020-12-30 2020-12-30 数据同步方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112711636A CN112711636A (zh) 2021-04-27
CN112711636B true CN112711636B (zh) 2023-09-05

Family

ID=75547394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011614209.9A Active CN112711636B (zh) 2020-12-30 2020-12-30 数据同步方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112711636B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086347B (zh) * 2022-05-20 2024-03-08 北京中科江南信息技术股份有限公司 数据同步方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183931A (zh) * 2017-12-04 2018-06-19 中国电子科技集团公司第三十研究所 一种基于需求管理树形模型的发布订阅匹配方法
CN109428922A (zh) * 2017-08-29 2019-03-05 华为技术有限公司 一种订阅发布方法及服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958257B2 (en) * 2005-01-19 2011-06-07 International Business Machines Corporation Message filtering and demultiplexing system
US10025815B2 (en) * 2015-07-13 2018-07-17 International Business Machines Corporation Deleting configuration items in a configuration management database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428922A (zh) * 2017-08-29 2019-03-05 华为技术有限公司 一种订阅发布方法及服务器
CN108183931A (zh) * 2017-12-04 2018-06-19 中国电子科技集团公司第三十研究所 一种基于需求管理树形模型的发布订阅匹配方法

Also Published As

Publication number Publication date
CN112711636A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
US20220342850A1 (en) Data transmission method and related device
CN108228894B (zh) 查看最近使用文件的方法、装置及终端
CN110276840B (zh) 多虚拟角色的控制方法、装置、设备及存储介质
US10299110B2 (en) Information transmission method and system, device, and computer readable recording medium thereof
CN108717432B (zh) 资源查询方法及装置
CN110213153B (zh) 未读消息的显示方法、获取方法、装置、终端及存储介质
CN111596830B (zh) 消息提醒方法及装置
WO2019149028A1 (zh) 应用程序的下载方法及终端
CN110147380B (zh) 数据更新方法、装置、服务器以及存储介质
CN113411680B (zh) 多媒体资源播放方法、装置、终端及存储介质
CN110569220B (zh) 游戏资源文件的展示方法、装置、终端及存储介质
CN111191176B (zh) 网站内容更新方法、装置、终端及存储介质
WO2022152024A1 (zh) 一种微件的显示方法与电子设备
WO2022057852A1 (zh) 一种多应用程序之间的交互方法
CN109726379B (zh) 内容项编辑方法、装置、电子设备及存储介质
CN112711636B (zh) 数据同步方法、装置、设备及介质
CN111275607B (zh) 界面显示方法、装置、计算机设备及存储介质
CN112004134B (zh) 多媒体数据的展示方法、装置、设备及存储介质
CN109948095B (zh) 显示网页内容的方法、装置、终端及存储介质
CN112698787A (zh) 写数据方法、装置及计算机存储介质
CN112231619A (zh) 转换方法、装置、电子设备及存储介质
CN113822010A (zh) 内容显示方法、装置、设备及存储介质
CN116700554B (zh) 信息的显示方法、电子设备及可读存储介质
CN111368103B (zh) 多媒体数据播放方法、装置、设备及存储介质
CN113225268B (zh) 数据传输方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40042516

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230920

Address after: 100191 Beijing Haidian District Zhichun Road 49 No. 3 West 309

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.