CN113342785B - 数据处理方法和装置、服务端设备及存储介质 - Google Patents
数据处理方法和装置、服务端设备及存储介质 Download PDFInfo
- Publication number
- CN113342785B CN113342785B CN202110761818.5A CN202110761818A CN113342785B CN 113342785 B CN113342785 B CN 113342785B CN 202110761818 A CN202110761818 A CN 202110761818A CN 113342785 B CN113342785 B CN 113342785B
- Authority
- CN
- China
- Prior art keywords
- data
- version
- client device
- distributed
- data processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供的数据处理方法和装置、服务端设备及存储介质,涉及数据处理技术领域。数据处理方法应用于服务端设备,服务端设备与至少一个客户端设备通信连接,数据处理方法包括:首先,获取待发布数据,将待发布数据发送至至少一个客户端设备,其中,待发布数据的数据版本为目标数据版本;其次,获取至少一个客户端设备的当前数据版本,判断每个当前数据版本是否包括目标数据版本;然后,在每个当前数据版本包括目标数据版本时,发送激活信号至至少一个客户端设备。通过上述方法,可以实现确认客户端设备得到的数据与服务端设备发送的数据一致时再激活数据,提高了数据处理的一致性。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据处理方法和装置、服务端设备及存储介质。
背景技术
随着业务中的服务实例调用链路越来越长,在服务实例的链路调用过程中,数据可能已经改变,导致上下游得到的数据不一样,从而存在着数据处理的一致性低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据处理方法和装置、服务端设备及存储介质,以改善现有技术中存在的问题。
为实现上述目的,本申请实施例采用如下技术方案:
第一方面,本发明提供一种数据处理方法,应用于服务端设备,所述服务端设备与至少一个客户端设备通信连接,所述数据处理方法包括:
获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备,其中,所述待发布数据的数据版本为目标数据版本;
获取所述至少一个客户端设备的当前数据版本,判断每个当前数据版本是否包括目标数据版本;
若是,则发送激活信号至所述至少一个客户端设备。
在可选的实施方式中,在所述获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备的步骤之前,所述数据处理方法还包括:
获取所有所述客户端设备的当前数据状态,判断所述当前数据状态是否为预设状态;
若是,则发出通知信息至所述至少一个客户端设备。
在可选的实施方式中,所述数据处理方法还包括:
判断所有所述客户端设备的待发布数据是否激活成功;
若是,则判定所述待发布数据发布完成。
在可选的实施方式中,所述获取待发布数据的步骤,包括:
获取当前数据和改动数据;
对所述当前数据和改动数据进行计算,得到待发布数据。
在可选的实施方式中,所述服务端设备设置有远程字典服务,所述将所述待发布数据发送至所述至少一个客户端设备的步骤,包括:
通过所述远程字典服务将所述待发布数据发送至所述至少一个客户端设备。
在可选的实施方式中,各所述客户端设备设置有软件开发工具包,所述获取所述至少一个客户端设备的数据版本的步骤,包括:
针对每个客户端设备,通过该客户端设备的软件开发工具包获取该客户端设备的当前数据版本。
第二方面,本发明提供一种数据处理装置,应用于服务端设备,所述服务端设备与至少一个客户端设备通信连接,所述数据处理装置包括:
数据获取模块,用于获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备,其中,所述待发布数据的数据版本为目标数据版本;
数据判断模块,用于获取所述至少一个客户端设备的当前数据版本,判断每个当前数据版本是否包括目标数据版本;
信号发送模块,用于在每个当前数据版本包括目标数据版本时,发送激活信号至所述至少一个客户端设备。
在可选的实施方式中,所述服务端设备设置有远程字典服务,所述数据获取模块具体用于:
获取待发布数据,通过所述远程字典服务将所述待发布数据发送至所述至少一个客户端设备。
第三方面,本发明提供一种服务端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施方式任一项所述的数据处理方法。
第四方面,本发明提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序运行时控制所述存储介质所在服务端设备执行前述实施方式任一项所述的数据处理方法。
本申请实施例提供的数据处理方法和装置、服务端设备及存储介质,服务端设备将待发布数据发送至至少一个客户端设备,判断每个客户端设备的当前数据版本是否包括待发布数据的目标数据版本,在当前数据版本包括目标数据版本时,发送激活信号至客户端设备,实现了确认所有客户端设备得到的数据一致时再激活待发布数据,避免了现有技术中在服务实例的链路调用过程中,数据可能已经改变,导致上下游得到的数据不一样,所导致的数据处理一致性低的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的数据处理***的结构框图。
图2示出了本申请实施例提供的服务端设备的结构框图。
图3为本申请实施例提供的数据处理方法的流程示意图。
图4为本申请实施例提供的数据处理装置的结构框图。
图标:10-数据处理***;100-服务端设备;110-第一存储器;120-第一处理器;130-通信模块;200-客户端设备;400-数据处理装置;410-数据获取模块;420-数据判断模块;430-信号发送模块。
具体实施方式
随着业务服务实例调用链路越来越长,在服务实例的链路调用过程中,数据可能已经改变,导致上下游得到的数据不一样。但业务中,重要数据是不能容忍这种情况出现的。因此解决调用链路上下游数据一致性的问题,意义重大。需要说明的是,本申请实施例提供的服务实例是指可对外提供服务的应用实例;数据发布是指将数据发布到外界,使得其他服务实例可以得到该数据;同步是指服务实例获取版本中心的数据,使得本地数据和数据版本中心的数据一致;数据版本中心是指发布数据版本的中心;改动数据是指对数据增删的描述记录;锚定版本数据是指同一版本的改动数据一旦被锚定,就不能再增多,之后的改动数据都落在下一版本;稳定版本是指最新的已发布成功的版本;版本稳定是指已经接入***后的服务实例的数据版本都达到稳定版本。
为了改善本申请所提出的上述至少一种技术问题,本申请实施例提供一种数据处理方法和装置、电子设备及存储介质,下面通过可能的实现方式对本申请的技术方案进行说明。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中做出的贡献。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
图1为本申请实施例提供的数据处理***10的结构框图,其提供了一种数据处理***10可能的实现方式,参见图1,该数据处理***10可以包括服务端设备100、客户端设备200中的一种或多种。
其中,服务端设备100与至少一个客户端设备200通信连接,以将待发布数据发送至客户端设备200并激活待发布数据。
可选地,服务端设备100和客户端设备200的具体类型不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,服务端设备100和客户端设备200可以为不同的设备,服务端设备100上部署有服务端服务,客户端设备200上部署有客户端服务(即上文提到的服务实例)。又例如,在另一种可以替代的示例中,服务端设备100与客户端设备200可以为同一设备。
请参照图2,是本申请实施例提供的一种服务端设备100的方框示意图,本实施例中的服务端设备100可以为能够进行数据交互、处理的服务器、处理设备、处理平台等。服务端设备100包括第一存储器110、第一处理器120及通信模块130。第一存储器110、第一处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,第一存储器110用于存储程序或者数据。第一存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
第一处理器120用于读/写第一存储器110中存储的数据或程序,并执行相应地功能。通信模块130用于通过网络建立服务端设备100与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图2所示的结构仅为服务端设备100的结构示意图,服务端设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
图3示出了本申请实施例所提供的数据处理方法的流程图之一,该方法可应用于图2所示的服务端设备100,由图2中的服务端设备100执行。应当理解,在其他实施例中,本实施例的数据处理方法中的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面对图3所示的数据处理方法的流程进行详细描述。
步骤S310,获取待发布数据,将待发布数据发送至至少一个客户端设备200。
其中,待发布数据的数据版本为目标数据版本。
步骤S320,获取至少一个客户端设备200的当前数据版本,判断每个当前数据版本是否包括目标数据版本。
在本申请实施例中,需要说明的是,在每个当前数据版本包括目标数据版本时,执行步骤S330;在每个当前数据版本不包括目标数据版本时,发出错误信号。
步骤S330,发送激活信号至至少一个客户端设备200。
上述方法中服务端设备将待发布数据发送至至少一个客户端设备,判断每个客户端设备的当前数据版本是否包括待发布数据的目标数据版本,在当前数据版本包括目标数据版本时,发送激活信号至客户端设备,实现了确认客户端设备得到的数据与服务端设备发送的数据一致时再激活数据,避免了现有技术中在服务实例的链路调用过程中,数据可能已经改变,导致上下游得到的数据不一样,所导致的数据处理一致性低的问题。
需要说明的是,在步骤S310之前,本申请实施例提供的数据处理方法还可以包括对客户端设备200的当前数据状态进行验证的步骤。因此,数据处理方法还可以包括以下子步骤:
获取所有客户端设备200的当前数据状态,判断当前数据状态是否为预设状态;本申请实施例中,需要说明的是,在当前数据状态为预设状态时,发出通知信息至至少一个客户端设备200;当前数据状态不为预设状态时,发出错误信号。
可选地,预设状态的具体类型不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,预设状态可以具体为稳定状态,也就是说,所有客户端设备200的上一版本数据已经激活,处于稳定状态。
对于步骤S310,需要说明的是,获取待发布数据的具体方式不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,获取待发布数据的步骤可以包括以下子步骤:
获取当前数据和改动数据;对当前数据和改动数据进行计算,得到待发布数据。
详细地,当前数据可以为版本1的数据,改动数据可以2版本的改动,可以根据版本1的数据和2版本的改动计算出新的稳定版本2数据。
需要说明的是,将待发布数据发送至至少一个客户端设备200的具体方式不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,服务端设备100设置有远程字典服务,将待发布数据发送至至少一个客户端设备200的步骤可以包括:
通过远程字典服务将待发布数据发送至至少一个客户端设备200。
详细地,远程字典服务(Remote Dictionary Server,Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储***,和Memcached类似,Redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis是一个高性能的key-value数据库,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
对于步骤S320,需要说明的是,获取至少一个客户端设备200的当前数据版本的具体方式不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,各客户端设备200设置有软件开发工具包,获取至少一个客户端设备200的数据版本的步骤可以包括:
针对每个客户端设备200,通过该客户端设备200的软件开发工具包获取该客户端设备200的当前数据版本。
详细地,软件开发工具包(Software Development Kit,SDK)是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作***等创建应用软件的开发工具的集合。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式***通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
对于步骤S330,需要说明的是,发送激活信号的具体方式不受限制,可以根据实际应用需求进行设置。例如,在一种可以替代的示例中,服务端设备100设置有数据版本中心Zookeeper,发送激活信号至至少一个客户端设备200的具体步骤可以包括:
通过数据版本中心发送激活信号至至少一个客户端设备200。
详细地,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的***提供给用户。
在步骤S330之后,本申请实施例提供的数据处理方法还可以包括验证待发布数据是否激活成功的步骤。因此,数据处理方法还可以包括以下子步骤:
判断所有客户端设备200的待发布数据是否激活成功;在本申请实施例中,需要说明的是,当所有客户端设备200的待发布数据激活成功时,判定待发布数据发布完成;当所有客户端设备200的待发布数据未激活成功时,发出错误信号。
需要说明的是,数据按版本定时发布,发布版本(publishVersion)从1开始递增。服务实例通过SDK接入到数据版本中心,并上报当前已同步的最新数据的版本,拉取最新版本数据。在发布一个版本的过程中,版本状态会依次经历:未发布、新版本通知中、激活中。首先,SDK在数据版本中心进行注册,拉取最新版本,数据版本中心判断新版本是否有改动,是否所有SDK都达到最新稳定版本,若是,则通知SDK拉取新版本。在SDK成功拉取新版本之后,数据版本中心判断是否所有SDK都达到最新版本,若是,则发出激活信号至SDK,激活客户端设备200上的新版本。在成功激活新版本之后,数据版本中心判断是否所有SDK完成激活,当所有SDK都完成激活后,新的稳定版本发布完成结束。其中,数据版本中心通过Redis发布新版本数据至SDK,SDK通过Redis从数据版本中心拉取新版本。
本申请实施例中可以假定发布版本2的数据,通过以下步骤进行发布:
新版本改动监听:监听将要发布的版本2的数据改动会落在对应的改动表中;
新版本改动定时检测:数据版本中心会定时检测将要发布版本的改动表是否有数据,以决定是否生成新版本2的数据;
锚定版本数据:若版本2有改动则将锚定当前改动,锚定之后,新的改动落在将要发布的下一版本3上;
计算数据:将打包的改动数据与当前稳定版本数据合并,计算出新版本;
新版本通知:通知SDK拉取计算出的新版本;
版本稳定检测:所有SDK是否已经达到最新稳定版本1;
新版本检测:所有SDK是否已经拉取到最新版本2;
新版本启用:通知所有SDK激活新版本2;
新版本稳定检测:检测是否所有SDK都已经激活新版本2,若达到,则修改新版本的发布状态,完成新版本发布。
详细地,发布记录(date_publish_version)的发布状态可以包括:0-未发布,1-新版本通知中,2-版本激活中,SDK数据版本状态可以包括:0-稳定(已激活版本x),1-待激活(新版本2)。服务端设备100中可以建立定时任务,数据版本中心检查是否可以发布新版本数据,是否所有SDK都达到版本x的稳定状态,通知SDK激活版本1的数据,结束发布(发布状态为1,2需要补偿)。然后ZooKeeper加锁,防止并发,但要能保证重复执行,设置发布状态为【新版本通知中】,并设置将改动落在3版本,以锚定2版本的数据,next_version+1即为2。然后,数据版本中心通过Redis获取稳定版本1的数据和2版本的改动,根据版本1的数据和2版本的改动计算出新的稳定版本2,将新计算稳定版本2放入Redis个,通知所有SDK拉取最新版本2的数据(可以重入,补偿通知)。SDK监听【新版本通知中】状态,拉取2版本,拉取成功后,可以设置SDK数据版本状态为1(待激活),版本状态为【新版本通知中】时可重入,SDK主动拉取数据。数据版本中心获取SDK状态,版本为1稳定版本,且2版本达到了【待激活】状态。若数据版本中心的发布状态仍为【新版本通知中】,通知所有SDK拉取数据。然后,数据版本中心可以设置data_publish_version发布状态为待激活,通知SDK激活新版本,修改SDK新版本状态为稳定(已激活),立即拉取状态,得知所有SDK都已激活,可以设置下一个欲发布版本为3,设置data_publish_version发布状态为0(未发布)。
需要说明的是,SDK启动时将自身版本状态和ID注册到数据版本中心,从Redis拉取最新数据版本和未发布版本,然后上报当前数据版本和未发布版本数据至数据版本中心。SDK监听数据版本中心的新版本数据变更,及时地同步自身的数据版本,并上报到版本中心。
进一步地,在服务实例接入SDK后,可以调用SDK来获取重要数据,当上游传来新版本的数据版本号,但下游SDK还未激活,下游SDK可使用刚拉取,但尚未激活的新版本数据。
详细地,应用A可以从对应的SDK获取重要数据a,SDK返回重要数据a至应用A,自动设置【数据版本号】到SDK上下文。应用A调用业务方法访问应用B,应用B获取重要数据a,先判断本地是否有该版本的数据,若有则直接使用。若上游应用A的【数据版本号】比应用B的【数据版本号】大,可以尝试拉取新数据版本,应用A对应的SDK通过Redis拉取该版本的数据,并设置本地数据,SDK上报数据至数据版本中心。应用B可以检测应用A中SDK检测上文的【数据版本号】与应用B中SDK的【数据版本号是否一致】,以上游版本号为准。应用A中SDK会返回重要数据a至应用B,自动设置【数据版本号】到SDK上下文,还可以继续调用应用C。
通过上述方法,本申请可以定时任务来定义数据版本并发布,SDK注册节点到版本中心,用于获取所有SDK的版本状态,保证所有SDK处于同一版本,数据版本中心通知SDK,使SDK的能及时地拉取最新版本数据,解决了服务实例调用链路上下游的数据一致性问题。
结合图4,本申请实施例还提供了一种数据处理装置400,该数据处理装置400实现的功能对应上述方法执行的步骤。该数据处理装置400可以理解为上述服务端设备100的处理器,也可以理解为独立于上述服务端设备100或处理器之外的在服务端设备100控制下实现本申请功能的组件。其中,数据处理装置400可以包括数据获取模块410、数据判断模块420和信号发送模块430。
数据获取模块410,用于获取待发布数据,将待发布数据发送至至少一个客户端设备200,其中,待发布数据的数据版本为目标数据版本。在本申请实施例中,数据获取模块410可以用于执行图3所示的步骤S310,关于数据获取模块410的相关内容可以参照前文对步骤S310的描述。
数据判断模块420,用于获取至少一个客户端设备200的当前数据版本,判断每个当前数据版本是否包括目标数据版本。在本申请实施例中,数据判断模块420可以用于执行图3所示的步骤S320,关于数据判断模块420的相关内容可以参照前文对步骤S320的描述。
信号发送模块430,用于在每个当前数据版本包括目标数据版本时,发送激活信号至至少一个客户端设备200。在本申请实施例中,信号发送模块430可以用于执行图3所示的步骤S330,关于信号发送模块430的相关内容可以参照前文对步骤S330的描述。
进一步地,服务端设备100设置有远程字典服务,数据获取模块410具体用于:
获取待发布数据,通过远程字典服务将待发布数据发送至至少一个客户端设备200。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据处理方法的步骤。
本申请实施例所提供的数据处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行上述方法实施例中的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
综上所述,本申请实施例提供的数据处理方法和装置、服务端设备及存储介质,服务端设备将待发布数据发送至至少一个客户端设备,判断每个客户端设备的当前数据版本是否包括待发布数据的目标数据版本,在当前数据版本包括目标数据版本时,发送激活信号至客户端设备,实现了确认客户端设备得到的数据与服务端设备发送的数据一致时再激活数据,避免了现有技术中在服务实例的链路调用过程中,数据可能已经改变,导致上下游得到的数据不一样,所导致的数据处理一致性低的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种数据处理方法,其特征在于,应用于服务端设备,所述服务端设备与至少一个客户端设备通信连接,所述数据处理方法包括:
获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备,其中,所述待发布数据的数据版本为目标数据版本;
获取所述至少一个客户端设备的当前数据版本,判断每个当前数据版本是否包括目标数据版本;
若是,则发送激活信号至所述至少一个客户端设备;
判断所有所述客户端设备的待发布数据是否激活成功;
若是,则判定所述待发布数据发布完成。
2.如权利要求1所述的数据处理方法,其特征在于,在所述获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备的步骤之前,所述数据处理方法还包括:
获取所有所述客户端设备的当前数据状态,判断所述当前数据状态是否为预设状态;
若是,则发出通知信息至所述至少一个客户端设备。
3.如权利要求1所述的数据处理方法,其特征在于,所述获取待发布数据的步骤,包括:
获取当前数据和改动数据;
对所述当前数据和改动数据进行计算,得到待发布数据。
4.如权利要求1所述的数据处理方法,其特征在于,所述服务端设备设置有远程字典服务,所述将所述待发布数据发送至所述至少一个客户端设备的步骤,包括:
通过所述远程字典服务将所述待发布数据发送至所述至少一个客户端设备。
5.如权利要求1所述的数据处理方法,其特征在于,各所述客户端设备设置有软件开发工具包,所述获取所述至少一个客户端设备的数据版本的步骤,包括:
针对每个客户端设备,通过该客户端设备的软件开发工具包获取该客户端设备的当前数据版本。
6.一种数据处理装置,其特征在于,应用于服务端设备,所述服务端设备与至少一个客户端设备通信连接,所述数据处理装置包括:
数据获取模块,用于获取待发布数据,将所述待发布数据发送至所述至少一个客户端设备,其中,所述待发布数据的数据版本为目标数据版本;
数据判断模块,用于获取所述至少一个客户端设备的当前数据版本,判断每个当前数据版本是否包括目标数据版本;
信号发送模块,用于在每个当前数据版本包括目标数据版本时,发送激活信号至所述至少一个客户端设备;
所述数据判断模块,还用于判断所有所述客户端设备的待发布数据是否激活成功;若是,则判定所述待发布数据发布完成。
7.如权利要求6所述的数据处理装置,其特征在于,所述服务端设备设置有远程字典服务,所述数据获取模块具体用于:
获取待发布数据,通过所述远程字典服务将所述待发布数据发送至所述至少一个客户端设备。
8.一种服务端设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5任一项所述的数据处理方法。
9.一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序运行时控制所述存储介质所在服务端设备执行权利要求1至5任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110761818.5A CN113342785B (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法和装置、服务端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110761818.5A CN113342785B (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法和装置、服务端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342785A CN113342785A (zh) | 2021-09-03 |
CN113342785B true CN113342785B (zh) | 2023-06-27 |
Family
ID=77482676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110761818.5A Active CN113342785B (zh) | 2021-07-06 | 2021-07-06 | 数据处理方法和装置、服务端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342785B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294675A (zh) * | 2012-02-23 | 2013-09-11 | 上海盛霄云计算技术有限公司 | 一种分布式存储***中的数据更新方法及装置 |
CN105528464A (zh) * | 2016-01-28 | 2016-04-27 | 北京宇航***工程研究所 | 一种自动判断关联数据技术状态一致性的版本管理*** |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN109656599A (zh) * | 2018-12-28 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 用于客户端版本更新的方法及*** |
CN110109932A (zh) * | 2019-03-25 | 2019-08-09 | 民生科技有限责任公司 | 一种确保分布式环境下主副本数据一致性的方法和*** |
CN110334076A (zh) * | 2019-05-31 | 2019-10-15 | 广州虎牙信息科技有限公司 | 数据处理方法、***、服务器和装置 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111752488A (zh) * | 2020-06-30 | 2020-10-09 | 重庆紫光华山智安科技有限公司 | 存储集群的管理方法、装置、管理节点及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4395526B2 (ja) * | 2007-07-05 | 2010-01-13 | 有限会社ウォーターマーク・アプリケーションズ | 多次元データベース構築システム及び情報処理装置 |
US7996359B2 (en) * | 2008-06-16 | 2011-08-09 | International Business Machines Corporation | Managing multi-node multi-version systems |
CN103312669A (zh) * | 2012-03-09 | 2013-09-18 | 广州从兴电子开发有限公司 | 一种实现数据一致性保障方法、装置及*** |
CN105812404A (zh) * | 2014-12-29 | 2016-07-27 | 罗伯特·博世有限公司 | 车辆诊断设备数据升级方法、装置及车辆诊断设备 |
CN109218418A (zh) * | 2018-09-04 | 2019-01-15 | 北京粉笔未来科技有限公司 | 数据同步方法和装置、计算设备及存储介质 |
CN110400214A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 跨平台协同交易数据处理方法及相关*** |
CN112637337B (zh) * | 2020-12-22 | 2022-02-22 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN112905228A (zh) * | 2021-02-24 | 2021-06-04 | 西安万像电子科技有限公司 | 版本发布方法及装置 |
-
2021
- 2021-07-06 CN CN202110761818.5A patent/CN113342785B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294675A (zh) * | 2012-02-23 | 2013-09-11 | 上海盛霄云计算技术有限公司 | 一种分布式存储***中的数据更新方法及装置 |
CN105528464A (zh) * | 2016-01-28 | 2016-04-27 | 北京宇航***工程研究所 | 一种自动判断关联数据技术状态一致性的版本管理*** |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN109656599A (zh) * | 2018-12-28 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 用于客户端版本更新的方法及*** |
CN110109932A (zh) * | 2019-03-25 | 2019-08-09 | 民生科技有限责任公司 | 一种确保分布式环境下主副本数据一致性的方法和*** |
CN110334076A (zh) * | 2019-05-31 | 2019-10-15 | 广州虎牙信息科技有限公司 | 数据处理方法、***、服务器和装置 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111752488A (zh) * | 2020-06-30 | 2020-10-09 | 重庆紫光华山智安科技有限公司 | 存储集群的管理方法、装置、管理节点及存储介质 |
Non-Patent Citations (2)
Title |
---|
Chihoub H E等.ConSistency Management in Cloud Storage System.《Large Scale & Big Data Processing & Management》.2014,第1-35页. * |
云计算环境中分布式文件***数据一致性问题研究;谯林飞;《中国优秀硕士学位论文全文数据库信息科技辑》(第03期);I137-200 * |
Also Published As
Publication number | Publication date |
---|---|
CN113342785A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911518B2 (en) | Network folder synchronization | |
CN109491776B (zh) | 任务编排方法和*** | |
CN110825420B (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
CN105045802B (zh) | 一种消息驱动的多类型文件预览*** | |
US10621049B1 (en) | Consistent backups based on local node clock | |
TWI472934B (zh) | 用於交叉同步資料之方法、物品及裝置 | |
US10261872B2 (en) | Multilevel disaster recovery | |
US20080222617A1 (en) | Server side application integration framework | |
US20030110172A1 (en) | Data synchronization | |
US20020144252A1 (en) | Urgent replication facility | |
KR101574816B1 (ko) | 비동기 복제 | |
US20070255763A1 (en) | Database replication method and system | |
US10726042B2 (en) | Replication control using eventually consistent meta-data | |
AU2002336667A1 (en) | Data synchronization | |
CN111143382B (zh) | 数据处理方法、***和计算机可读存储介质 | |
US20120324436A1 (en) | Method of updating versioned software using a shared cache | |
CN111666134A (zh) | 一种分布式任务调度的方法和*** | |
CN114900449B (zh) | 一种资源信息管理方法、***及装置 | |
CN111338834B (zh) | 数据存储方法和装置 | |
US8700750B2 (en) | Web deployment functions and interfaces | |
CN111949311B (zh) | 灰度发布方法及*** | |
CN113342785B (zh) | 数据处理方法和装置、服务端设备及存储介质 | |
CN117544507A (zh) | 基于云对象存储服务的多区域分布式配置方法及*** | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN116166470A (zh) | Redis集群克隆复制方法及装置、介质、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |