CN111190707A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN111190707A CN111190707A CN201910712832.9A CN201910712832A CN111190707A CN 111190707 A CN111190707 A CN 111190707A CN 201910712832 A CN201910712832 A CN 201910712832A CN 111190707 A CN111190707 A CN 111190707A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- group
- unprocessed
- state
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据处理方法及装置,包括:获取多个数据,将其分为多个数据组;将数据组分配给相应的处理进程进行处理,并将数据组的组别标识保存至本地并向监听进程同步处理进程的处理结果;当处理进程发生异常时,触发监听进程基于监听侧记录文件确定异常处理进程对应的未处理数据;当异常处理进程在预设时间段内未恢复时,将未处理数据分配给其他处理进程进行处理;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复,则对未处理数据的当前组别标识进行校验;若校验未通过,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理,从而提高处理完整性。
Description
技术领域
本申请涉及通讯领域,具体涉及一种数据处理方法及装置。
背景技术
通讯***中的数据处理过程包括:一系列数据从上游***流入数据处理***,经过数据处理***流至下游***,直至下游***获取到这一系列数据的过程。其流转过程分为两种,第一种为数据由上游***发布(Publish),下游***的接收者订阅(Subscribe),数据处理***记录一个或多个订阅者,根据订阅规则,将符合规则的数据发送给订阅者;第二种为数据由上游***生产(Produce),由下游***消费者消费(Consume),数据处理***接收并存储数据,等待消费者的请求将数据发送给消费者。
目前,无论采用何种流转过程,为了确保数据处理***的高可用性,一般采用多节点部署与仲裁机制的处理方式进行处理,其意义在于通过多个节点接收用户的请求,互为主备或者通过选举决策者(Leader)的方式来更新数据的处理进度信息。当某个节点失效时,重新发起选举,选举出新的Leader,从而保证数据处理***的高可用性,但当失效节点为Leader时会使原本应被处理的数据未被处理,进而导致数据处理的完整性降低。
发明内容
本申请实施例提供一种数据处理方法及装置,可以提高数据处理的完整性。
本申请实施例提供一种数据处理方法,包括:
从数据源中获取待处理的多个数据,将所述多个数据划分为多个数据组,并将每个数据组的组别标识保存至本地;
将每个数据组分配给处理进程组中相应的处理进程,并将数据源中所述数据的数据状态更新为待处理状态;
根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;
当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;
通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;
当检测到所述异常处理进程在预设时间段内未恢复正常时,将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,所述其他处理进程为所述处理进程组中除异常处理进程以外的处理进程;
在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验;
若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理。
在一些实施例中,所述方法还包括:
当检测到所述异常处理进程在预设时间段内恢复正常时,将所述未处理数据分配给所述异常处理进程;并将所述未处理数据的数据状态更新为待处理状态;
基于所述异常处理进程,以及所述未处理数据的更新后数据状态,对所述未处理数据重新处理。
在一些实施例中,所述将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,包括:
将所述未处理数据的数据状态更新为待处理状态、以及将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识;
根据所述未处理数据的数据状态和组别标识触发其他处理进程对未处理数据进行处理。
在一些实施例中,所述触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,包括:
触发所述监听进程基于监听侧记录文件将将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
在一些实施例中,所述在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验,包括:
在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则将第一数据的当前组别标识、与异常处理进程对应的组别标识进行对比;
所述若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理,包括:
当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识不相同时,终止所述异常处理进程对所述第一数据处理,由所述其他处理进程对所述第一数据进行处理。
在一些实施例中,所述方法还包括:
当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识相同时,拒绝将所述第一数据分配给所述其他处理进程,并触发所述异常处理进程继续对所述第一数据进行处理。
在一些实施例中,所述将每个数据组分配给处理进程组中相应的处理进程,包括:
对每个数据组进行组别标记,得到每个数据组对应的组别标识;
从进程标识集合中确定所述组别标识对应的目标进程标识,所述进程标识集合包括所述处理进程组中处理进程的进程标识;
将所述组别标识对应的数据组,分配给所述目标进程标识对应的处理进程。
在一些实施例中,所述根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理,包括:
从目标数据组中确定所述处理进程当前需要处理的目标数据;
获取所述处理进程对应的数据处理期望信息、以及所述目标数据的数据属性信息,所述数据处理期望信息包括所述处理进程期望处理的数据组、以及期望处理的数据状态,所述数据属性信息包括目标数据的当前数据状态以及当前所属的数据组;
基于所述数据处理期望信息及所述数据属性信息对目标数据进行验证;
当验证通过时,触发处理进程对目标数据进行处理。
相应的,本申请实施例还提供一种数据处理装置,包括:
数据划分单元,用于从数据源中获取待处理的多个数据,将所述多个数据划分为多个数据组,并将每个数据组的组别标识保存至本地;
第一数据分配单元,用于将每个数据组分配给处理进程组中相应的处理进程,并将数据源中所述数据的数据状态更新为待处理状态;
第一数据处理单元,用于根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;
数据确定单元,用于当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;
数据更新单元,用于通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;
第二数据分配单元,用于当检测到所述异常处理进程在预设时间段内未恢复正常时,将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,所述其他处理进程为所述处理进程组中除异常处理进程以外的处理进程;
数据校验单元,用于在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验;
终止处理单元,用于若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理。
在一些实施例中,所述数据处理装置,还包括:
第三数据分配子单元,用于当检测到所述异常处理进程在预设时间段内恢复正常时,将所述未处理数据分配给所述异常处理进程;并将所述未处理数据的数据状态更新为待处理状态;
数据处理单元,用于基于所述异常处理进程,以及所述未处理数据的更新后数据状态,对所述未处理数据重新处理。
相应的,本申请实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本申请实施例任一提供的数据处理方法。
本申请实施例提供的数据处理方法,在将数据组中的数据发送给对应的处理进程进行处理的同时,将每个数据组的组别标识保存至本地,在处理过程中,将每一条数据的处理结果同步给监听进程,若处理进程发生异常,则根据本地及监听侧记录文件确保可以找到异常处理进程还未处理的数据;再通过监听进程将未处理数据的数据状态更新为未处理状态等待处理,当在预设时间段内异常处理进程未恢复则将未处理数据分配给其他处理进程处理,避免遗漏处理;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验,若校验通过则说明未处理数据还未分配给其他处理进程则可由异常处理进程继续处理,若校验未通过则说明未处理数据已分配给其他处理进程,则异常处理进程无需对未处理数据进行处理,避免重复处理,提高处理完整性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的数据处理***的的第一种场景示意图。
图1b为本申请实施例提供的数据处理方法的的第一种流程示意图。
图2为本申请实施例提供的数据处理方法的的第二种流程示意图。
图3a为本申请实施例提供的数据处理***的的第二种场景示意图。
图3b为本申请实施例提供的数据处理方法的的第三种流程示意图
图4a为本申请实施例提供的数据处理方法中处理服务器、监听服务器及数据源的第一种交互示意图。
图4b为本申请实施例提供的数据处理方法中处理服务器、监听服务器及数据源的第二种交互示意图。
图5a为本申请实施例提供的处理异常时的处理服务器与监听服务器的第一种流程图。
图5b为本申请实施例提供的处理异常时的处理服务器与监听服务器的第二种流程图。
图5c为本申请实施例提供的处理异常时的处理服务器与监听服务器的第三种流程图。
图5d为本申请实施例提供的处理异常时的处理服务器与监听服务器的第四种流程图。
图6a为本申请实施例提供的数据处理装置的第一种结构示意图。
图6b为本申请实施例提供的数据处理装置的第二种结构示意图。
图7为本申请实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种数据处理方法、装置、存储介质及服务器。其中,数据处理装置可以集成在服务器中,该服务器可以指的是单个独立的服务器,例如,数据处理装置可以集成在数据处理服务器中;此外,服务器还可以指的是由多个服务器构建的服务器集群,比如,数据处理装置可以集成在数据处理服务器、监听服务器中,也即由数据处理服务器、监听服务器来实现本申请方法、
以数据处理装置集成在单台服务器为例,参考图1a,本申请实施例提供了一种数据处理***,包括:数据源10、处理服务器20及终端30,其中数据源10也可以为第三方服务,或设置在终端30内的数据库,这里不做限定。其中,终端30可以为手机、平板电脑、笔记本电脑等设备,图1a是以终端30为手机为例。该终端30中可以安装有各种用户所需的应用,比如具备娱乐功能的应用(如视频应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用(如地图导航应用、餐饮应用等)。
基于上述图1a所示的***,以用户使用购物软件进行抢购为例,当大量用户同时发起抢购请求时,数据源10包括大量用户通过终端30发起的请求数据,处理服务器20可以从数据源10中获取需要处理的数据,在处理服务器20处理完成后,处理服务器20将每条数据的处理结果再重新发送给数据源10,其中处理服务器20中包括处理进程及监听处理进程的监听进程。具体的,处理服务器20从数据源10中获取待处理的多个数据,将多个数据划分为多个数据组;将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源10中数据的数据状态更新为待处理状态;根据处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听进程同步处理进程的处理结果,处理结果包括已处理数据的数据状态;当检测到处理进程发生异常时,触发监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;通过监听进程将数据源10中未处理数据的数据状态更新为未处理状态;当检测到异常处理进程在预设时间段内未恢复正常时,将未处理数据分配给其他处理进程进行处理,并将未处理数据的组别标识调整为其他处理进程对应数据组的组别标识,其他处理进程为处理进程组中除异常处理进程以外的处理进程;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验;若校验未通过,则终止常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。
具体的,当从数据源10中获取的数据被处理服务器20处理完成后,可以根据不同的处理流转过程,选择将处理后的数据发送给终端30或保存在处理服务器20中,这里不做限定。
上述图1a的例子只是实现本申请实施例的一个***架构实例,本申请实施例并不限于上述图1a所示的***结构,基于该***架构,提出本申请各个实施例。
在一些实施例中,提供了一种数据处理方法,可以由服务器的处理器执行,如图1b所示,该数据处理方法包括:
101、从数据源中获取待处理的多个数据,将多个数据划分为多个数据组。
其中,数据源即为数据的来源,是提供某种所需要数据的器件或原始媒体。数据源中存放有多个数据,该数据可以包括例如用户抢购发送的请求数据或与请求数据对应的其他数据。待处理的多个数据可以以集合的形式被统一获取,比如,获取数据集合{数据1、数据2……数据n}。
其中,数据组的划分方式可以有多种,比如,以处理进程的总数量或处于空闲中的处理进程的数量将待处理的多个数据进行划分,譬如,处理进程的总数量或处于空闲的处理进程的数量为3,将n个待处理的数据平均分成3个数据组。
102、将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源中数据的数据状态更新为待处理状态状态。
其中,数据组包括至少一个从数据源中的数据,处理进程组包括多个处理进程,处理进程为用于对数据处理的进程,例如对请求数据进行响应的响应进程等。数据状态根据处理进程对数据的处理过程,可以将数据的数据状态分为4种:第一种为未处理状态,未处理状态指的是数据在数据源中还未被处理进程获取时的状态,当处理进程发生异常时,也会将数据的处理状态从其他状态更新为未处理状态;第二种为待处理状态,待处理状态指的是数据已经被处理进程加载,等待处理进程对其进行处理的状态;第三种为处理中状态,处理中状态指的是针对于单条数据而言,当该条数据正在被处理进程进行处理时的状态;第四种为处理完成状态,处理完成状态顾名思义,是指数据被处理进程处理完成后的状态。其中,数据的数据状态可以通过对每条数据进行状态标记的方式,使每个数据均具备一数据状态。
其中,可以将每个数据组对应的组别标识存到本地,本地可以为缓存、网络磁盘等。保存至本地的不仅限于组别标识,还可以包括处理该组数据的处理时间等信息。
具体的,为了将数据组发送给对应的处理进程,因此,将每个数据组分配给处理进程组中相应的处理进程,包括:
对每个数据组进行组别标记,得到每个数据组对应的组别标识;
从进程标识集合中确定所述组别标识对应的目标进程标识,所述进程标识集合包括所述处理进程组中处理进程的进程标识;
将所述组别标识对应的数据组,分配给所述目标进程标识对应的处理进程。
具体的,对每个数据组进行组别标记包括对数据组中的每条数据进行组别标记。数据组与处理进程的对应关系可以通过对数据组中的数据标记与处理进程相对应的组别标识,通过该组别标识将与处理进程对应标识相同的数据发送给处理进程进行处理。其中,处理进程在处理数据时是按照时间顺序先后处理每一数据的。可以使用数据集、数据行锁、无锁算法(Compare And Swap,CAS)等方式保证每一数据仅被一个处理线程独占,避免其他处理线程脏读以致于重复处理同一数据。
103、根据处理进程以及分配的目标数据组中数据的数据状态,对被目标数据组中数据进行处理;并向监听处理进程处理过程的监听进程同步处理进程的处理结果。
其中,每个处理进程在接收到数据组中的数据后,会判断每个数据的状态,处理进程只会去接收并处理数据状态为未处理的数据,在处理每个数据组中的数据时,会将该数据组中的数据状态更新为待处理状态。待处理状态的含义在于,已经将数据组中的数据发送至相应的处理进程等待处理进程的处理。
其中。处理结果包括每一条数据的当前数据状态。可以理解,处理进程在对数据组中的数据进行处理时,会将该条数据的处理结果同步给监听进程,处理结果可以为该条数据的数据状态,监听进程会记录处理进程对应的数据组中的该条数据的数据状态。例如:数据组中包括数据1、数据2以及数据3,处理进程在处理完成数据1后,会将数据1的数据状态更新为处理完成状态并同步给监听进程,监听进程会记录数据组中数据1的数据状态为处理完成状态,该记录可以保存在监听侧的记录文件中,该记录文件也可以保存至缓存、网络磁盘等。
104、当检测到处理进程发生异常时,触发监听进程基于监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据。
具体的,根据实际在处理过程中发生的异常情况,将异常分为两类:第一类为处理进程自身异常,具体包括:处理进程在处理数据时处理进程崩溃、人为关闭或退出处理进程等;第二类为通信异常,即处理进程与监听进程之间的通信断开等的因网络原因异常。当异常发生时,可根据本地记录的组别标识触发监听进程查找异常处理进程对应数据组的组别标识中是否存在还未被处理的数据。具体的确定方式为:监听进程从数据源中查找异常处理进程对应数据组中的数据,再结合监听处理进程所产生的监听侧记录文件找到数据状态为处理完成状态以外的数据。即验证异常处理进程对应数据组中每一数据的数据状态验证。若数据组中数据的数据状态为处理完成状态,则确定该条数据已被数据完成,若数据的数据状态为处理中状态、待处理状态,则确定这些数据为未处理数据。例如:异常处理进程对应的数据组包括数据1、数据2及数据3,数据1的数据状态为处理完成状态,数据2及数据3的数据状态为待处理状态,可以确定当异常发生时,数据2及数据3还未被处理,因此,确定数据2及数据3为异常处理进程对应数据组中的未处理数据;或者数据1为处理中状态,数据2及数据3的数据状态为待处理状态,也将数据1、数据2及数据3确定为未处理状态。若处理进程在处理数据2的同时发生异常,则将数据状态为处理中的数据2也确定为未处理数据,因此根据目标数据组中数据当前的数据状态,从目标数据组中确定未处理数据,包括:
将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
105、通过监听进程将数据源中未处理数据的数据状态更新为未处理状态。
其中,当监听进程确定出未处理数据后,在数据源中将未处理数据的数据状态从待处理状态或处理中状态更新为未处理状态。
106、当检测到异常处理进程在预设时间段内未恢复正常时,将未处理数据分配给其他处理进程进行处理,并将未处理数据的组别标识调整为其他处理进程对应数据组的组别标识。
具体的,为了避免异常处理进程较长时间无法恢复从而造成异常处理进程对应数据组中的未处理数据无法被处理,可以设定一预设时间段,判断发生异常的处理进程是否在预设时间段内恢复正常,若是,则将未处理数据分配给恢复正常的处理进程继续处理,并将未处理数据的数据状态重新更新为待处理状态,基于处理进程,以及未处理数据的更新后数据状态,对未处理数据重新处理。因此,该方法还包括:
当检测到异常处理进程在预设时间段内恢复正常时,将未处理数据分配给异常处理进程;并将未处理数据的数据状态更新为待处理状态;
基于异常处理进程,以及未处理数据的更新后数据状态,对未处理数据重新处理。
若发生异常的处理进程在预设时间段内未恢复正常,则将未处理数据分配给其他处理进程进行处理,其中,当未处理数据被分配至其他处理进程后,其他处理进程会将处理数据的组别标识调整为其他处理进程对应数据组的组别标识;可以理解,其他处理进程为处理进程组中除异常处理进程以外的处理进程。
基于其他处理进程,以及未处理数据的更新后数据状态,对未处理数据重新处理。
107、在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验
具体的,预设异常类型为通信异常,当异常处理进程的异常类型为通信异常时,则说明此时异常处理进程为可以处理数据的状态,在异常发生时异常处理进程正在处理某一条数据,则基于处理机制,在发生异常后还会对该条数据进行处理,但由于异常处理进程与监听进程的通信未恢复,未处理的数据可能已经被分配至其他处理进程,从而造成同一条数据被异常处理进程及其他处理进程处理,即重复处理。因此在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,需要对未处理数据的当前组别标识进行校验;
其中,当发生异常时异常处理进程正在处理某一条数据,则也可对该条数据的当前组别标识、与异常处理进程对应的组别标识进行对比,即第二数据可分配至其他处理进程,第一数据通过组别标识确定是否对这一条数据进行处理。因此,在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验,包括:
在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则将第一数据的当前组别标识、与异常处理进程对应的组别标识进行对比。
108、若校验未通过,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。
具体的,若校验未通过,则说明未处理数据已经被分配至其他处理进程,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。
其中,也可根据第一数据当前组别标识、与异常处理进程对应的组别标识进行对比的对比结果,判断第一数据是否被异常处理进程进行处理,当第一数据的当前组别标识与异常处理进程对应的组别标识不相同时,终止异常处理进程对第一数据处理,由其他处理进程对第一数据进行处理。当然,由于已经将第一数据的组别标识改变,则说明第二数据的组别标识也同时改变,则第二数据也被分配至其他处理进程处理。
此外,由于处理进程在处理数据组中的数据之前会对数据组进行组别标识,若组别标识校验通过则说明未处理的数据均未被分配给其他处理进程,则异常处理进程可继续对未处理数据进行处理。因此,该方法还包括:
若校验通过,则拒绝将未处理数据分配给其他处理进程,并触发异常处理进程继续对未处理数据进行处理。也可以为:当第一数据的当前组别标识与所述异常处理进程对应的组别标识相同时,拒绝将第一数据分配给其他处理进程,并触发异常处理进程继续对第一数据进行处理,由于第一数据的组别标识未改变,则说明第二数据的组别标识也未改变,但此时处于将未处理数据分配给其他处理进程的过程中,因此第二数据可以由其他处理进程进行处理,也可拒绝将第二数据分配至其他处理进程,由恢复后的异常处理进程继续处理,此处不做限定。
具体的,当处理进程将目标数据组中的数据处理完成后,会以组或条的形式发送至下游***,如果下游***由于某种原因导致不可用,则会进行多次重试,以保证处理完成的数据在发送至下游***时不被遗漏。并且,处理进程在每处理完一数据组后,可将保存至本地的组别标识删除,监听侧可同时在监听侧记录文件中删除关于该数据组的记录信息。
由上可知,本申请实施例采用在将数据组中的数据发送给对应的处理进程进行处理的同时,将每个数据组的组别标识保存至本地,在处理过程中,将每一条数据的处理结果同步给监听进程,若处理进程发生异常,则根据本地及监听侧记录文件确保可以找到异常处理进程还未处理的数据;再通过监听进程将未处理数据的数据状态更新为未处理状态等待处理,当在预设时间段内异常处理进程未恢复则将未处理数据分配给其他处理进程处理,避免遗漏处理;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验,若校验通过则说明未处理数据还未分配给其他处理进程则可由异常处理进程继续处理,若校验未通过则说明未处理数据已分配给其他处理进程,则异常处理进程无需对未处理数据进行处理,避免重复处理,提高处理完整性。
在一些实施例中,以数据处理装置基础在单个服务器为例,如图2所示,该数据处理方法包括:
201、服务器从数据源中获取待处理的多个数据,并将多个数据划分为多个数据组。
其中,数据源中存放有多个数据,该数据可以包括用户抢购发送的请求数据或与请求数据对应的数据。待处理的多个数据可以以集合的形式被统一获取,比如,获取数据集合{数据1、数据2……数据n}。
其中,处理服务器中设置有包括多个处理进程的处理进程组,在接收到多个数据之后,会根据处理进程组中的多个处理进程将待处理的多个数据划分为多个数据组。
其中,划分方式可以以处理进程的总数量或处于空闲中的处理进程的数量将待处理的多个数据进行划分,比如:处理进程的总数量或处于空闲的处理进程的数量为3,将n个待处理的数据平均分成3个数据组。
202、服务器对每个数据组进行组别标记,得到每个数据组对应的组别标识。
具体的,在对每个数据组进行组别标记时,是对应处理进程组中的多个处理进程标记的,并且可以使用数据集、数据行锁、无锁算法(Compare And Swap,CAS)等方式保证每一数据仅被一个处理线程独占,避免其他处理线程脏读以致于重复处理同一数据。
203、服务器从进程标识集合中确定组别标识对应的目标进程标识。
可以理解,为了确定每个被组别标记过的数据组可以被分配到对应的处理进程,可以预先建立进程标识集合,进程标识集合中可以包括每个处理进程的进程标识,例如:处理进程组中包括处理进程1、处理进程2……处理进程n,则进程标识集合中包括{1、2……n},在步骤203中,对每个数据组进程组别标记,可以直接将进程标识集合中的1、2……n标记给对应的数据组,或者将与进程标识对应的标识标记给数据组,这里不做限定。
204、服务器将组别标识对应的数据组,分配给目标进程标识对应的处理进程,并将每个数据组的组别标识保存至本地。
其中,由步骤204可知,由于在对每个数据组进行组别标记时是通过将处理进程对应的进程标识或与进程标识对应的标识标记给数据组,因此,可以根据组别标记得到的组别标识与目标进程标识相对应找到每个数据组对应的处理进程,将数据组中的数据分配给目标进程标识对应的处理进程。
其中,可以将每个数据组对应的组别标识存到本地,本地可以为缓存、网络磁盘等。保存至本地的不仅限于组别标识,还可以包括处理该组数据的处理时间等信息
205、服务器从目标数据组中确定处理进程当前需要处理的目标数据。
可以理解,在将数据组分配给对应的处理进程之后,还需将数据组中的每个数据进程验证,判断是否是对应的处理进程当前需求处理的目标数据。
具体包括:步骤206、服务器获取处理进程对应的数据处理期望信息、以及目标数据的数据属性信息。其中,数据处理期望信息可以包括:处理进程期望处理的数据组的组别标识、期望处理的数据的数据状态及数据的数据状态是否被回滚过等的信息;数据属性信息可以包括:数据实际的组别标识、数据状态及数据状态是否被回滚过等的信息,其中,回滚为:数据状态从其他状态更新为未处理。
步骤207、服务器基于数据处理期望信息及数据属性信息对目标数据进行验证。若验证通过,则执行步骤208。
具体的,验证方式可以为将数据处理期望信息及数据属性信息进行比对,比对处理进程期望处理的数据组的组别标识与数据属性信息中数据实际的组别标识;处理进程期望处理的数据的数据状态与数据属性信息中数据实际的数据状态;处理进程期望处理的数据是否被回滚过与数据属性信息中数据实际是否被回滚过等一系列的比对。必须每一验证条件均通过时,才执行步骤208。
步骤208、服务器触发处理进程对目标数据进行处理,更新数据源中相应数据的数据状态。
当验证通过时,说明目标数据为处理进程当前需要处理的数据,则更新数据源中目标数据的数据状态。更新后的数据状态为待处理状态,意为等待处理进程处理这些数据。其中,也可以将更新后的数据状态通知给数据源,由数据源来更新数据的数据状态,这里不再赘述。若验证不通过时,则说明处理进程不需要处理这些数据,则将这些验证不通过的数据忽略。
步骤209、向监听处理进程处理过程的监听进程同步处理进程的处理结果。
其中。处理结果包括已处理数据的数据状态。可以理解,处理进程在每处理完成一条数据之后,会将该条数据的处理结果同步给监听进程,处理结果可以为该条数据的数据状态,监听进程会记录处理进程对应的数据组中的该条数据的数据状态。例如:数据组中包括数据1、数据2以及数据3,处理进程在处理完成数据1后,会将数据1的数据状态更新为处理完成状态并同步给监听进程,监听进程会记录数据组中数据1的数据状态为处理完成状态,该记录可以保存在监听侧的记录文件中,该记录文件也可以保存至缓存、网络磁盘等。
步骤210、当服务器检测到处理进程发生异常时,触发监听进程基于监听侧记录文件将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
具体的,根据实际在处理过程中发生的异常情况,将异常分为两类:第一类为处理进程自身异常,具体包括:处理进程在处理数据时处理进程崩溃、人为关闭或退出处理进程等;第二类为通信异常,即处理进程与监听进程之间的通信断开等的因网络原因异常。当异常发生时,可根据本地记录的组别标识触发监听进程查找异常处理进程对应数据组的组别标识中是否存在还未被处理的数据。具体的确定方式为:监听进程从数据源中查找异常处理进程对应数据组中的数据,再结合监听处理进程所产生的监听侧记录文件找到数据状态为处理完成状态以外的数据。即验证异常处理进程对应数据组中每一数据的数据状态验证。若数据组中数据的数据状态为处理完成状态,则确定该条数据已被数据完成,若数据的数据状态为处理中状态、待处理状态,则确定这些数据为未处理数据。例如:异常处理进程对应的数据组包括数据1、数据2及数据3,数据1的数据状态为处理完成状态,数据2及数据3的数据状态为待处理状态,可以确定当异常发生时,数据2及数据3还未被处理,因此,确定数据2及数据3为异常处理进程对应数据组中的未处理数据;或者数据1为处理中状态,数据2及数据3的数据状态为待处理状态,也将数据1、数据2及数据3确定为未处理状态。若处理进程在处理数据2的同时发生异常,则将数据状态为处理中的数据2也确定为未处理数据
可以理解,处理进程在对每条数据进行处理时,会将数据状态为待处理状态的数据更新为处理中状态,表明该条数据正在被处理。若处理进程发生异常时,若处理中状态的数据未被处理完成,则将数据状态为处理中的第一数据及数据状态为待处理状态的第二数据确定为未处理数据。
若在处理过程中处理进程未发生异常,则在处理进程处理完数据组中的数据后,在数据源中将数据组中数据的数据状态更新为已完成,并将步骤203中保存至本地的信息删除。
步骤211、通过监听进程将数据源中未处理数据的数据状态更新为未处理状态。
其中,当监听进程确定出未处理数据后,在数据源中将未处理数据的数据状态从待处理状态或处理中状态更新为未处理状态。具体的,也可以指示监听进程在数据源将未处理数据的数据状态更新,并且还可以将数据的数据状态变更为未处理状态的次数进行统计,即回滚次数,变更为未处理状态一次,则回滚次数加1。
步骤212、服务器判断处理进程在预设时间段内是否恢复正常,若是,则执行步骤213;若否,则执行步骤215。
其中,发生异常的情况可能有多种,而为了保证数据的处理效率,不可能一直等待发生异常的处理进程恢复后再去处理对应的数据。因此,可以预先设定一预设时间段,判断处理进程在以预设时间段内是否恢复正常。预设时间段可以为2s、1min等,根据不同的应用场景,设定不同的时间。
步骤213、服务器将未处理数据分配给处理进程;并将未处理数据的数据状态更新为待处理状态。
其中,当发生异常的处理进程在预设时间段内恢复正常,则还可以把异常处理进程未处理完成的数据重新分配给该处理进程进行处理,在将未处理数据分配后,重新将未处理数据的数据状态从未处理状态更新为待处理状态。
步骤214、服务器基于处理进程、以及未处理数据的更新后数据状态,对未处理数据重新处理。
具体的,重新分配未处理数据,并根据未处理数据的更新后数据状态重新对未处理数据进行处理。还可以从新从数据源中获取未处理数据,并重新分配。
步骤215、服务器将未处理数据分配给其他处理进程,并将未处理数据的数据状态更新为待处理状态。
具体的,若发生异常的处理进程在预设时间段内未恢复正常,则将未处理数据分配给其他处理进程进行处理,其中,当未处理数据被分配至其他处理进程后,其他处理进程会将处理数据的组别标识调整为其他处理进程对应数据组的组别标识;可以理解,其他处理进程为处理进程组中除异常处理进程以外的处理进程。
步骤216、在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则将第一数据的当前组别标识、与异常处理进程对应的组别标识进行对比。
具体的,预设异常类型为通信异常,当异常处理进程的异常类型为通信异常时,则说明此时异常处理进程为可以处理数据的状态,在异常发生时异常处理进程正在处理某一条数据,则基于处理机制,在发生异常后还会对该条数据进行处理,但由于异常处理进程与监听进程的通信未恢复,未处理的数据可能已经被分配至其他处理进程,从而造成同一条数据被异常处理进程及其他处理进程处理,即重复处理。当发生异常时异常处理进程正在处理某一条数据,则对该条数据的当前组别标识、与异常处理进程对应的组别标识进行对比,即第二数据可分配至其他处理进程,第一数据通过组别标识确定是否对这一条数据进行处理。
步骤217、当第一数据的当前组别标识与异常处理进程对应的组别标识不相同时,终止异常处理进程对第一数据处理,由其他处理进程对未处理数据进行处理。
具体的,若比对结果为第一数据的当前组别标识与异常处理进程对应的组别标识不相同,则说明第一数据已经被分配至其他处理进程,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。
步骤218、当第一数据的当前组别标识与异常处理进程对应的组别标识相同时,拒绝将第一数据分配给其他处理进程,并触发异常处理进程继续对第一数据进行处理。
具体的,若比对结果为第一数据的当前组别标识与异常处理进程对应的组别标识相同,则说明第一数据还未分配至其他处理进程,则拒绝将第一数据分配给其他处理进程,并触发异常处理进程继续对第一数据进行处理,由于第一数据的组别标识未改变,则说明第二数据的组别标识也未改变,但此时处于将未处理数据分配给其他处理进程的过程中,因此第二数据可以由其他处理进程进行处理,也可拒绝将第二数据分配至其他处理进程,由恢复后的异常处理进程继续处理,此处不做限定。
其中,若其他处理进程正在处理其他数据,而同时接收到了未处理数据,那么可以优先处理未处理数据,或者等待其他数据处理完成后再去处理未处理数据,这里不做限定。
以数据处理装置集成在数据处理服务器、监听服务器中,也即由数据处理服务器、监听服务器为例,请参阅图3a,本申请实施例还提供一种数据处理***,包括:数据源10、处理服务器20、终端30及监听服务器40。其中数据源10也可以为第三方服务,或设置在终端30内的数据库,这里不做限定。其中,终端30可以为手机、平板电脑、笔记本电脑等设备,图3a是以终端30为手机为例。该终端30中可以安装有各种用户所需的应用,比如具备娱乐功能的应用(如视频应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用(如地图导航应用、餐饮应用等)。监听服务器40用于监听处理服务器20的处理过程,监听服务器40与处理服务器20可以通过网络协议(TCP/IP)连接。处理服务器20在处理数据之前与监听服务器40进行连接,或者无论处理服务器20是否处理数据,均可与监听服务器40进行连接,当处理服务器20与监听服务器40断开时,处理服务器20不再处理未被处理的数据。其中,处理服务器20中包括有多个处理进程的处理进程组,监听服务器40中包括有多个监听进程的监听进程组,处理进程与监听进程的连接可以为一对一、一对多或多对多。
具体的,处理服务器20从数据源10中获取待处理的多个数据,将所述多个数据划分为多个数据组;将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,并将数据源中所述数据的数据状态更新为待处理状态;根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理,并更新所述数据源10中相应数据的数据状态及向监听服务器40同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;当处理服务器20检测到处理进程发生异常时,触发监听服务器40基于包括有已同步的数据状态以及监听侧的组别标识的监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,通过监听服务器40将数据源10中未处理数据的数据状态更新为未处理状态,处理服务器20基于未处理数据的更新后数据状态,对未处理数据重新处理。
因此,请参阅图3b本申请的数据处理方法,还包括:
步骤301、处理服务器从数据源中获取待处理的多个数据,将多个数据划分为多个数据组。
其中,数据源即为数据的来源,是提供某种所需要数据的器件或原始媒体。数据源中存放有多个数据,该数据可以包括例如用户抢购发送的请求数据或与请求数据对应的其他数据。待处理的多个数据可以以集合的形式被统一获取,比如,获取数据集合{数据1、数据2……数据n}。
其中,数据组的划分方式可以有多种,比如,以处理进程的总数量或处于空闲中的处理进程的数量将待处理的多个数据进行划分,譬如,处理进程的总数量或处于空闲的处理进程的数量为3,将n个待处理的数据平均分成3个数据组。
步骤302、将每个数据组分配给处理进程组中相应的处理进程,并将数据源中所述数据的数据状态更新为待处理状态。
其中,数据组包括至少一个从数据源中的数据,处理进程组包括多个处理进程,处理进程为用于对数据处理的进程,例如对请求数据进行响应的响应进程等。数据状态根据处理进程对数据的处理过程,可以将数据的数据状态分为4种:第一种为未处理状态,未处理状态指的是数据在数据源中还未被处理进程获取时的状态,当处理进程发生异常时,也会将数据的处理状态从其他状态更新为未处理状态;第二种为待处理状态,待处理状态指的是数据已经被处理进程加载,等待处理进程对其进行处理的状态;第三种为处理中状态,处理中状态指的是针对于单条数据而言,当该条数据正在被处理进程进行处理时的状态;第四种为处理完成状态,处理完成状态顾名思义,是指数据被处理进程处理完成后的状态。其中,数据的数据状态可以通过对每条数据进行状态标记的方式,使每个数据均具备一数据状态。
具体的,为了将数据组发送给对应的处理进程,因此,将每个数据组分配给处理进程组中相应的处理进程,包括:
对每个数据组进行组别标记,得到每个数据组对应的组别标识;
从进程标识集合中确定所述组别标识对应的目标进程标识,所述进程标识集合包括所述处理进程组中处理进程的进程标识;
将所述组别标识对应的数据组,分配给所述目标进程标识对应的处理进程。
步骤303、根据处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理,并更新数据源中相应数据的数据状态及向监听服务器同步处理进程的处理结果。
其中,每个处理进程在接收到数据组中的数据后,会判断每个数据的状态,处理进程只会去接收并处理数据状态为未处理的数据,在处理每个数据组中的数据时,会将该数据组中的数据状态更新为待处理状态。其中,待处理状态的含义在于,已经将数据组中的数据发送至相应的处理进程等待处理进程的处理。
处理进程在处理完一条数据后,会去数据源中将这条数据的数据状态更新为处理完成状态,并会向监听服务器同步该条数据的处理结果,处理结果可以包括:已处理数据的数据状态。
步骤304、当检测到处理进程发生异常时,确定异常处理进程对应的数据组中的未处理数据。
当处理服务器检测到处理进程发生异常时,会去确定异常处理进程对应的数据组中哪些数据还未被处理完成。同理,监听服务器在检测到发生异常时,也会确定异常处理进程对应的数据组中的未处理数据。具体的,确定方式可以通过处理服务器向监听服务器同步的处理结果去判断数据组中的数据是否被处理完成。
例如:监听服务器监听处理服务器对数据组A中的数据1、数据2……数据n,当处理进程异常时,监听服务器会去查看每一数据的状态信息,若数据1为处理完成状态,数据2为处理中状态……数据n为待处理状态,则将数据2至数据n确定为还未处理的数据。
因此,具体的,当检测到处理进程发生异常时,确定异常处理进程对应的数据组中的未处理数据,包括:
当检测到所述处理进程发生异常时,触发所述监听服务器基于已同步的数据状态,确定异常处理进程对应数据组中的未处理数据。
具体的,确定异常处理进程对应数据组中的未处理数据包括:
将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
可以理解,处理进程在对每条数据进行处理时,会将数据状态为待处理状态的数据更新为处理中状态,表明该条数据正在被处理。若处理进程发生异常时,若处理中状态的数据未被处理完成,则将数据状态为处理中的第一数据及数据状态为待处理状态的第二数据确定为未处理数据。
步骤305、通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态。
当监听服务器确定出未处理数据后,会在数据源中将这些数据的数据状态更新为未处理状态。
步骤306、在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为通信异常,且异常处理进程恢复正常时,将第一数据的当前组别标识与异常处理进程对应的组别标识进行对比。若不相同,则执行步骤307;若相同,则执行步骤308。
具体的,通信异常指的是处理服务器与监听服务器之间的网络通信断开,即TCP/IP断开,由于处理服务器中的处理进程并未出现问题,仅是与监听进程之间的网络断开了,因此在断开到在第二预设时间段恢复正常的过程中,为了不影响正常的数据处理进度,若断开时处理进程正在处理数据状态为处理中的数据,则会继续对该数据进行处理,而不会对之后的数据状态为待处理的数据进行处理。因此,会将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、数据状态为待处理状态的第二数据确定为未处理数据,进而将第一数据的当前组别标识与异常处理进程对应的组别标识进行对比,判断第一数据是否被分配到其他进程进行处理。其中,第二预设时间段的时间大于第一预设时间段的时间,即异常处理进程在第一预设时间段未恢复,而在第二预设时间段恢复。
步骤307、当第一数据的当前组别标识与异常处理进程对应的组别标识不相同时,终止异常处理进程对第一数据处理。
可以理解,若第一数据的当前组别标识与异常处理进程对应的组别标识不相同,则说明第一数据的组别标识已经被其他进程进行更新,为了避免异常处理进程及其他处理进程重复对第一数据进行处理,则终止异常处理进程继续对第一数据进行处理。
步骤308、当第一数据的当前组别标识与异常处理进程对应的组别标识相同时,拒绝将第一数据分配给其他处理进程,并触发异常处理进程继续对第一数据进程处理。
可以理解,若第一数据的当前组别标识与异常处理进程对应的组别标识相同,则说明第一数据的组别标识未被其他进程进行更新,则触发在第二预设时间段恢复的异常处理进程继续对第一数据进程处理。
具体的,当处理进程将数据组中的数据处理完成后,会以组或条的形式发送至下游***,如果下游***由于某种原因导致不可用,则会进行多次重试,以保证处理完成的数据在发送至下游***时不被遗漏。
其中,处理服务器、监听服务器及数据源的交互方法请参照图4a及图4b。
在数据加载阶段:处理服务器在处理每一组数据之前,会将数据组的组别标识保存至本地,监听处理服务器的监听服务器及数据源也会同步该数据组的组别标识,数据源根据组别标识返回给处理服务器这组数据;
在数据处理阶段:处理服务器在接收到数据后进行处理,每处理一条数据,则将处理结果同步给监听服务器及数据源,处理服务器及监听服务器均可去数据源中将处理完成的数据的数据状态更新为处理完成状态;判断当前数据组中数据是否全部处理完毕,若否,则继续处理,若是,则将保存至本地的组别标识删除,处理结束;
在异常回滚阶段:若处理进程发生异常,则监听服务器找到发生异常的处理进程对应处理的数据组的组别标识,去数据源中将未被异常处理进程数据的数据的数据状态更新为未处理状态;
在数据加载阶段:处理服务器从数据源中重新获取未处理数据,循环验证数据组中每条数据的组别标识与数据状态,判断数据是否被处理,若当前数据已经被处理,则跳过该条数据,继续判断其他数据是否被处理,若当前数据未被处理,则对该条数据进行处理,并将该条数据的处理结果同步给监听服务器,并将数据源中该条数据的数据状态更新为处理完成。若异常进程对应的数据组中数据全部被处理完毕,则监听服务器将记录组别标识对应的数据组被处理完成,处理结束。
为了更清楚的理解本申请所述的数据处理方法,请参阅图5a、图5b、图5c及图5d,图5a至图5d是从处理进程及监听进程的角度阐述数据处理方法。
其中,BATCH即为组别标识,断开连接即为处理进程发生异常,监听进程A用于监听处理进程A,处理进程B为其他处理进程,监听进程B为其他监听进程。
具体的,如图5a所示,当处理进程A发生异常,首先监听处理进程A的监听进程A会将组别标识为A的且数据状态为待处理的数据进行回滚。若由处理进程B将未处理数据加载,并将BATCH=A更新为BATCH=B,若异常处理进程在第二预设时间段内恢复正常,由于处理机制,处理进程A需要连接一监听进程,具体的,以连接到监听进程B为例,监听进程B在与处理进程A建立连接后,处理进程A会根据保存在本地的组别标识等信息触发监听进程B回滚BATCH=A的数据,由于之前处理进程B已经将BATCH=A加载并更改了组别标识,此时的未处理数据的组别标识为B,因此,监听进程B此时的回滚操作实际上影响的行数为零。在处理进程A判断未处理数据当前组别标识与对应的数据组的组别标识时,由于未处理数据的组别标识已经更新为B,因此处理进程A不会再对未处理数据进行处理,改由处理进程B对未处理数据进行处理,当处理进程B将数据处理完成之后,将数据的数据状态更新为处理完成状态。
同理如图5b所示,当处理进程A发生异常,首先监听处理进程A的监听进程A会将组别标识为A的且数据状态为待处理的数据进行回滚。若处理进程A先进行重连,处理进程A会根据保存在本地的组别标识等信息触发监听进程B回滚BATCH=A的数据,由于之前已将未处理数据的数据状态回滚为未处理状态,而监听进程B期望回滚的数据的数据状态为待处理状态,因此,由于数据状态不匹配的原因,监听进程B的回滚操作实际上影响的行数为零,若未处理数据还是被处理进程B获取,则将未处理数据的组别标识更新为BATCH=B,由于未处理数据的组别标识已经更新为B,因此处理进程A不会再对未处理数据进行处理,改由处理进程B对未处理数据进行处理,当处理进程B将数据处理完成之后,将数据的数据状态更新为处理完成状态,当处理进程B将数据处理完成之后,将数据的数据状态更新为处理完成状态。
同理,如图5c所示,当处理进程A发生异常,首先监听处理进程A的监听进程A会将组别标识为A的且数据状态为待处理的数据进行回滚。若由处理进程B将未处理数据加载,并将BATCH=A更新为BATCH=B,若异常处理进程在第二预设时间段内恢复正常,由于处理机制,处理进程A需要连接一监听进程,具体的,以连接到监听进程B为例,监听进程B在与处理进程A建立连接后,处理进程A会根据保存在本地的组别标识等信息触发监听进程B回滚BATCH=A的数据,由于之前处理进程B已经将BATCH=A加载并更改了组别标识,此时的未处理数据的组别标识为B,因此,监听进程B此时的回滚操作实际上影响的行数为零。在处理进程A判断未处理数据当前组别标识与对应的数据组的组别标识时,由于未处理数据的组别标识已经更新为B,因此处理进程A不会再对未处理数据进行处理,改由处理进程B对未处理数据进行处理,当处理进程B将数据处理完成之后,将数据的数据状态更新为处理完成状态。
同理,如图5d所示,当处理进程A发生异常,首先监听处理进程A的监听进程A会将组别标识为A的且数据状态为待处理的数据进行回滚。若处理进程A先进行重连,处理进程A会根据保存在本地的组别标识等信息触发监听进程B回滚BATCH=A的数据,由于之前已将未处理数据的数据状态回滚为未处理状态,而监听进程B期望回滚的数据的数据状态为待处理状态,因此,由于数据状态不匹配的原因,监听进程B的回滚操作实际上影响的行数为零,若未处理数据还是被处理进程B获取,则将未处理数据的组别标识更新为BATCH=B,由于未处理数据的组别标识已经更新为B,因此处理进程A不会再对未处理数据进行处理,改由处理进程B对未处理数据进行处理,当处理进程B将数据处理完成之后,将数据的数据状态更新为处理完成状态。
其中,若重连并回滚在其他处理进程处理加载之前,可以优先将回滚后的未处理数据分配给重连后的处理进程进行处理,也可以将回滚后的未处理数据分配给其他处理进程,这里不做限定。
由上可知,本申请实施例采用在将数据组中的数据发送给对应的处理进程进行处理的同时,将每个数据组的组别标识保存至本地,在处理过程中,将每一条数据的处理结果同步给监听进程,若处理进程发生异常,则根据本地及监听侧记录文件确保可以找到异常处理进程还未处理的数据;再通过监听进程将未处理数据的数据状态更新为未处理状态等待处理,当在预设时间段内异常处理进程未恢复则将未处理数据分配给其他处理进程处理,避免遗漏处理;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验,若校验通过则说明未处理数据还未分配给其他处理进程则可由异常处理进程继续处理,若校验未通过则说明未处理数据已分配给其他处理进程,则异常处理进程无需对未处理数据进行处理,避免重复处理,提高处理完整性,并且,通过数据处理期望信息及数据属性信息的验证可以筛选出处理进程期望处理的数据,避免处理非必要数据。
为了便于更好的实施本申请实施例提供的数据处理方法,在一实施例中还提供了一种数据处理装置。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
在一些实施例中,还提供了一种数据处理装置,如图6a及图6b所示,该数据处理装置可以包括:数据划分单元401、第一数据分配单元402、第一数据处理单元403、数据确定单元404、数据更新单元405、第二数据分配单元406、数据校验单元407以及终止处理单元408。
数据划分单元401,用于从数据源中获取待处理的多个数据,将所述多个数据划分为多个数据组;
第一数据分配单元402,用于将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源中所述数据的数据状态更新为待处理状态;
第一数据处理单元403,用于根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;
数据确定单元404,用于当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;
数据更新单元405,用于通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;
第二数据分配单元406,用于当检测到所述异常处理进程在预设时间段内未恢复正常时,将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,所述其他处理进程为所述处理进程组中除异常处理进程以外的处理进程。
数据校验单元407,用于在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验。
终止处理单元408,用于若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理。
在一些实施例中,该数据处理装置还包括:
第三数据分配单元409,用于当检测到所述异常处理进程在预设时间段内恢复正常时,将所述未处理数据分配给所述异常处理进程;并将所述未处理数据的数据状态更新为待处理状态;
数据处理单元410,用于基于所述异常处理进程,以及所述未处理数据的更新后数据状态,对所述未处理数据重新处理。
在一些实施例中,所述第一数据分配单元402可以包括:
标记子单元4021,用于对每个数据组进行组别标记,得到每个数据组对应的组别标识;
第一确定子单元4022,用于从进程标识集合中确定所述组别标识对应的目标进程标识,所述进程标识集合包括所述处理进程组中处理进程的进程标识;
分配子单元4023,用于将所述组别标识对应的数据组,分配给所述目标进程标识对应的处理进程。
在一些实施例中,第二数据分配单元406还可以包括:
数据调整子单元4061,用于将所述未处理数据的数据状态更新为待处理状态、以及将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识。
数据处理子单元4062,用于根据所述未处理数据的数据状态和组别标识触发其他处理进程对未处理数据进行处理。
在一些实施例中,数据确定单元404还可以包括:
第二数据确定子单元4041,用于触发所述监听进程基于监听侧记录文件将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
在一些实施例中,第二数据分配单元406还可以包括:
数据对比子单元4063,用于在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则将第一数据的当前组别标识、与异常处理进程对应的组别标识进行对比
终止处理单元408还可以包括:
终止处理子单元4081,用于当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识不相同时,终止所述异常处理进程对所述第一数据处理,由所述其他处理进程对所述未处理数据进行处理。
拒绝分配子单元4082,用于当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识相同时,拒绝将所述第一数据分配给所述其他处理进程,并触发所述异常处理进程继续对所述第一数据进行处理。
在一些实施例中,第一数据处理单元403还可以包括:
第三确定子单元4031,用于从目标数据组中确定所述处理进程当前需要处理的目标数据。
获取子单元4032,用于获取所述处理进程对应的数据处理期望信息、以及所述目标数据的数据属性信息,所述数据处理期望信息包括所述处理进程期望处理的数据组、以及期望处理的数据状态,所述数据属性信息包括目标数据的当前数据状态以及当前所属的数据组。
验证子单元4033,用于基于所述数据处理期望信息及所述数据属性信息对目标数据进行验证。
触发子单元4034,用于当验证通过时,触发处理进程对目标数据进行处理。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本申请实施例数据处理方法采用数据划分单元401从数据源中获取待处理的多个数据,将多个数据划分为多个数据组;第一数据分配单元402将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源中所述数据的数据状态更新为待处理状态;第一数据处理单元403根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;数据确定单元404当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;数据更新单元405通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;第二数据分配单元406当检测到所述异常处理进程在预设时间段内未恢复正常时,将未处理数据分配给其他处理进程进行处理,并将未处理数据的组别标识调整为其他处理进程对应数据组的组别标识;数据校验单元407在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验;终止处理单元408若校验未通过,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。可以避免在处理过程中遗漏数据,保证每条数据均被处理,提高处理数据的完整性。
参考图7,本申请实施例提供了一种服务器800,可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、射频(RadioFrequency,RF)电路803、电源804、输入单元805、以及显示单元806等部件。本领域技术人员可以理解,图1a及图3a中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。
RF电路803可用于收发信息过程中,信号的接收和发送。
服务器还包括给各个部件供电的电源804(比如电池),优选的,电源可以通过电源管理***与处理器801逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
该服务器还可包括输入单元805,该输入单元805可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括显示单元806,该显示单元806可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
从数据源中获取待处理的多个数据,将多个数据划分为多个数据组,并将每个数据组的组别标识保存至本地;将每个数据组分配给处理进程组中相应的处理进程,并将数据源中数据的数据状态更新为待处理状态;根据处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听处理进程处理过程的监听进程同步所述处理进程的处理结果;当检测到处理进程发生异常时,触发监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;通过监听进程将数据源中未处理数据的数据状态更新为未处理状态;当检测到异常处理进程在预设时间段内未恢复正常时,将未处理数据分配给其他处理进程进行处理,并将未处理数据的组别标识调整为其他处理进程对应数据组的组别标识;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验;若校验未通过,则终止异常处理进程继续对未处理数据进行处理,由其他处理进程对未处理数据进行处理。
由上可知,本申请实施例服务器可以在将数据组中的数据发送给对应的处理进程进行处理的同时,将每个数据组的组别标识保存至本地,在处理过程中,将每一条数据的处理结果同步给监听进程,若处理进程发生异常,则根据本地及监听侧记录文件确保可以找到异常处理进程还未处理的数据;再通过监听进程将未处理数据的数据状态更新为未处理状态等待处理,当在预设时间段内异常处理进程未恢复则将未处理数据分配给其他处理进程处理,避免遗漏处理;在将未处理数据分配给其他处理进程的过程中,若异常处理进程的异常类型为预设异常类型,且异常处理进程恢复正常时,则对未处理数据的当前组别标识进行校验,若校验通过则说明未处理数据还未分配给其他处理进程则可由异常处理进程继续处理,若校验未通过则说明未处理数据已分配给其他处理进程,则异常处理进程无需对未处理数据进行处理,避免重复处理,提高处理完整性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种数据处理方法、装置、存储介质及服务器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
从数据源中获取待处理的多个数据,将所述多个数据划分为多个数据组;
将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源中所述数据的数据状态更新为待处理状态;
根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;
当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;
通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;
当检测到所述异常处理进程在预设时间段内未恢复正常时,将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,所述其他处理进程为所述处理进程组中除异常处理进程以外的处理进程;
在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验;
若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
当检测到所述异常处理进程在预设时间段内恢复正常时,将所述未处理数据分配给所述异常处理进程;并将所述未处理数据的数据状态更新为待处理状态;
基于所述异常处理进程,以及所述未处理数据的更新后数据状态,对所述未处理数据重新处理。
3.根据权利要求1所述的数据处理方法,其特征在于,所述将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,包括:
将所述未处理数据的数据状态更新为待处理状态、以及将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识;
根据所述未处理数据的数据状态和组别标识触发其他处理进程对未处理数据进行处理。
4.根据权利要求3所述的数据处理方法,其特征在于,所述触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,包括:
触发所述监听进程基于监听侧记录文件将异常处理进程对应的数据组中数据状态为处理中状态的第一数据、以及数据状态为待处理状态的第二数据,确定为未处理数据。
5.根据权利要求4所述的数据处理方法,其特征在于,所述在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验,包括:
在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则将第一数据的当前组别标识、与异常处理进程对应的组别标识进行对比;
所述若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理,包括:
当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识不相同时,终止所述异常处理进程对所述第一数据处理,由所述其他处理进程对所述第一数据进行处理。
6.根据权利要求5所述的数据处理方法,其特征在于,所述方法还包括:
当所述第一数据的当前组别标识与所述异常处理进程对应的组别标识相同时,拒绝将所述第一数据分配给所述其他处理进程,并触发所述异常处理进程继续对所述第一数据进行处理。
7.根据权利要求1-6任一项所述的数据处理方法,其特征在于,所述将每个数据组分配给处理进程组中相应的处理进程,包括:
对每个数据组进行组别标记,得到每个数据组对应的组别标识;
从进程标识集合中确定所述组别标识对应的目标进程标识,所述进程标识集合包括所述处理进程组中处理进程的进程标识;
将所述组别标识对应的数据组,分配给所述目标进程标识对应的处理进程。
8.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理,包括:
从目标数据组中确定所述处理进程当前需要处理的目标数据;
获取所述处理进程对应的数据处理期望信息、以及所述目标数据的数据属性信息,所述数据处理期望信息包括所述处理进程期望处理的数据组、以及期望处理的数据状态,所述数据属性信息包括目标数据的当前数据状态以及当前所属的数据组;
基于所述数据处理期望信息及所述数据属性信息对目标数据进行验证;
当验证通过时,触发处理进程对目标数据进行处理。
9.一种数据处理装置,其特征在于,包括:
数据划分单元,用于从数据源中获取待处理的多个数据,将所述多个数据划分为多个数据组;
第一数据分配单元,用于将每个数据组分配给处理进程组中相应的处理进程,并将每个数据组的组别标识保存至本地,以及将数据源中所述数据的数据状态更新为待处理状态;
第一数据处理单元,用于根据所述处理进程以及分配的目标数据组中数据的数据状态,对目标数据组中数据进行处理;并向监听所述处理进程处理过程的监听进程同步所述处理进程的处理结果,所述处理结果包括已处理数据的数据状态;
数据确定单元,用于当检测到所述处理进程发生异常时,触发所述监听进程基于监听侧记录文件,确定异常处理进程对应数据组中的未处理数据,所述监听侧记录文件包括已同步的数据状态以及监听侧的组别标识;
数据更新单元,用于通过监听进程将所述数据源中所述未处理数据的数据状态更新为未处理状态;
第二数据分配单元,用于当检测到所述异常处理进程在预设时间段内未恢复正常时,将所述未处理数据分配给其他处理进程进行处理,并将所述未处理数据的组别标识调整为所述其他处理进程对应数据组的组别标识,所述其他处理进程为所述处理进程组中除异常处理进程以外的处理进程;
数据校验单元,用于在将所述未处理数据分配给其他处理进程的过程中,若所述异常处理进程的异常类型为预设异常类型,且所述异常处理进程恢复正常时,则对所述未处理数据的当前组别标识进行校验;
终止处理单元,用于若校验未通过,则终止所述异常处理进程继续对所述未处理数据进行处理,由所述其他处理进程对所述未处理数据进行处理。
10.根据权利要求9所述的数据处理装置,其特征在于,所述数据处理装置,还包括:
第三数据分配单元,用于当检测到所述异常处理进程在预设时间段内恢复正常时,将所述未处理数据分配给所述异常处理进程;并将所述未处理数据的数据状态更新为待处理状态;
数据处理单元,用于基于所述异常处理进程,以及所述未处理数据的更新后数据状态,对所述未处理数据重新处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712832.9A CN111190707B (zh) | 2019-08-02 | 2019-08-02 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712832.9A CN111190707B (zh) | 2019-08-02 | 2019-08-02 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190707A true CN111190707A (zh) | 2020-05-22 |
CN111190707B CN111190707B (zh) | 2023-04-28 |
Family
ID=70707168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910712832.9A Active CN111190707B (zh) | 2019-08-02 | 2019-08-02 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190707B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257573A (zh) * | 2020-09-22 | 2022-03-29 | ***通信集团广东有限公司 | 一种检测volte语音功能异常的方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07121419A (ja) * | 1993-10-22 | 1995-05-12 | Hitachi Ltd | データベース回復管理システム |
JPH0830470A (ja) * | 1994-07-20 | 1996-02-02 | Chubu Nippon Denki Software Kk | 排他実行制御方式 |
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN103369000A (zh) * | 2012-03-29 | 2013-10-23 | 北京智慧风云科技有限公司 | 一种数据传输方法及*** |
US8892719B2 (en) * | 2007-08-30 | 2014-11-18 | Alpha Technical Corporation | Method and apparatus for monitoring network servers |
CN105303107A (zh) * | 2014-06-06 | 2016-02-03 | 中兴通讯股份有限公司 | 一种异常进程检测方法及装置 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
US20190129887A1 (en) * | 2015-07-27 | 2019-05-02 | Sas Institute Inc. | Distributed data storage grouping |
US20190155539A1 (en) * | 2017-11-23 | 2019-05-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing data based on physical host |
US20190179726A1 (en) * | 2016-12-08 | 2019-06-13 | Tencent Technology (Shenzhen) Company Limited | Monitoring method and apparatus of server, and storage medium |
-
2019
- 2019-08-02 CN CN201910712832.9A patent/CN111190707B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07121419A (ja) * | 1993-10-22 | 1995-05-12 | Hitachi Ltd | データベース回復管理システム |
JPH0830470A (ja) * | 1994-07-20 | 1996-02-02 | Chubu Nippon Denki Software Kk | 排他実行制御方式 |
US8892719B2 (en) * | 2007-08-30 | 2014-11-18 | Alpha Technical Corporation | Method and apparatus for monitoring network servers |
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN103369000A (zh) * | 2012-03-29 | 2013-10-23 | 北京智慧风云科技有限公司 | 一种数据传输方法及*** |
CN105303107A (zh) * | 2014-06-06 | 2016-02-03 | 中兴通讯股份有限公司 | 一种异常进程检测方法及装置 |
US20190129887A1 (en) * | 2015-07-27 | 2019-05-02 | Sas Institute Inc. | Distributed data storage grouping |
US20190179726A1 (en) * | 2016-12-08 | 2019-06-13 | Tencent Technology (Shenzhen) Company Limited | Monitoring method and apparatus of server, and storage medium |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
US20190155539A1 (en) * | 2017-11-23 | 2019-05-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing data based on physical host |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257573A (zh) * | 2020-09-22 | 2022-03-29 | ***通信集团广东有限公司 | 一种检测volte语音功能异常的方法和装置 |
CN114257573B (zh) * | 2020-09-22 | 2023-09-19 | ***通信集团广东有限公司 | 一种检测volte语音功能异常的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111190707B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014634B (zh) | 集群选举处理方法、装置、设备及存储介质 | |
US9063787B2 (en) | System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster | |
CN107453929B (zh) | 集群***自构建方法、装置及集群*** | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
CN112671928B (zh) | 设备集中管理架构、负载均衡方法、电子设备及存储介质 | |
CN109802986B (zh) | 设备管理方法、***、装置及服务器 | |
CN112328421B (zh) | 一种***故障处理方法、装置、计算机设备和存储介质 | |
CN105069152B (zh) | 数据处理方法及装置 | |
US11102284B2 (en) | Service processing methods and systems based on a consortium blockchain network | |
CN113553179A (zh) | 分布式键值存储负载均衡方法及*** | |
CN109388481A (zh) | 一种事务信息的传输方法、***、装置、计算设备和介质 | |
WO2023071999A1 (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
CN112231108A (zh) | 任务处理方法、装置、计算机可读存储介质及服务器 | |
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN114265753A (zh) | 消息队列的管理方法、管理***和电子设备 | |
CN111181765A (zh) | 一种任务处理方法和装置 | |
CN113342893B (zh) | 基于区块链的节点同步方法、装置、存储介质及服务器 | |
CN111190707B (zh) | 一种数据处理方法及装置 | |
CN110417833B (zh) | 基于区块链的数据处理方法、装置及存储介质 | |
CN105323271B (zh) | 一种云计算***以及云计算***的处理方法和装置 | |
CN110083653B (zh) | 一种订单数据的操作方法、装置、计算机设备和存储介质 | |
CN104754029B (zh) | 确定主管理服务器的方法、装置和*** | |
KR101883671B1 (ko) | 노드 분산 방법 및 이를 수행하는 관리 서버 | |
CN112711466A (zh) | 悬挂事务巡检方法和装置、电子设备和存储介质 | |
CN114363350A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |