CN117149583A - 一种业务处理方法及装置 - Google Patents

一种业务处理方法及装置 Download PDF

Info

Publication number
CN117149583A
CN117149583A CN202311403471.2A CN202311403471A CN117149583A CN 117149583 A CN117149583 A CN 117149583A CN 202311403471 A CN202311403471 A CN 202311403471A CN 117149583 A CN117149583 A CN 117149583A
Authority
CN
China
Prior art keywords
processing
data
state
window
service
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.)
Pending
Application number
CN202311403471.2A
Other languages
English (en)
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.)
China Securities Depository And Clearing Corp ltd
Original Assignee
China Securities Depository And Clearing Corp 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 China Securities Depository And Clearing Corp ltd filed Critical China Securities Depository And Clearing Corp ltd
Priority to CN202311403471.2A priority Critical patent/CN117149583A/zh
Publication of CN117149583A publication Critical patent/CN117149583A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种业务处理方法及装置,涉及数据处理技术领域。该方法的一具体实施方式包括:通过监控多个处理实例的运行是否出现异常;多个处理实例用于对窗口数据进行处理;窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在多个处理实例中的目标处理实例的运行出现异常的情况下,确定目标处理实例正在处理的窗口数据的窗口编号;读取窗口编号对应的状态数据值;状态数据值指示了目标处理实例在出现异常之前处理窗口数据得到的最新数据结果;根据状态数据值继续对窗口数据进行后续业务处理,并根据处理结果记录窗口数据对应的新的状态数据值。该实施方式从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。

Description

一种业务处理方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种业务处理方法及装置。
背景技术
数据处理模式一般分为流处理模式和批处理模式,对于流程较复杂业务处理,若采用流处理模式,互相之间无前后关联的多个流程也须顺序执行;而若采用批处理模式,业务处理出现异常时,需要对当前正在处理的整批数据全部进行重新处理,以进行数据恢复。因此,由于两种处理模式各自存在的弊端,使得其处理复杂业务的效率都比较低。
发明内容
有鉴于此,本发明实施例提供一种业务处理方法及装置,通过监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。由此通过将业务数据拆分成窗口数据,由多个处理实例并行处理;并在处理过程中记录各窗口数据对应的中间数据,从而使得异常恢复时能够根据中间数据进行异常恢复,进而避免了将业务流程全部进行重新处理,因此,从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种业务处理方法。
本发明实施例的一种业务处理方法包括:监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
可选地,所述根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值,包括:根据所述状态数据值,对所述窗口数据进行处理,得到所述处理结果;确定当前时间是否大于状态控制表中所述窗口数据对应的状态更新截止时间;所述状态控制表记录了所述窗口数据的历史状态更新情况;在所述当前时间大于所述状态更新截止时间的情况下,根据所述处理结果确定所述新的状态数据值,并将所述新的状态数据值记录到所述状态控制表中。
可选地,本发明实施例提供的方法还包括:根据所述处理结果确定所述窗口数据对应的新的处理状态;将所述新的处理状态与所述窗口编号对应保存至所述状态控制表中;根据所述当前时间更新所述状态控制表中的所述窗口编号对应的状态更新时间;根据更新后的状态更新时间与预设时长之和,更新所述状态控制表中的所述窗口编号对应的所述状态更新截止时间。
可选地,本发明实施例提供的方法还包括:在所述当前时间不大于所述状态更新截止时间的情况下,读取所述目标处理实例对应的处理指令,以使所述目标处理实例根据所述处理指令进行操作。
可选地,所述监控多个处理实例的运行是否出现异常,包括:从所述多个处理实例对应的状态控制表中,读取对应的窗口数据的状态更新时间以及处理状态;所述处理状态包括未处理、处理中和已处理;根据所述状态更新时间以及所述处理状态,确定所述对应的窗口数据的状态信息的更新频率是否异常;根据所述更新频率是否异常,确定所述多个处理实例的运行是否出现异常。
可选地,根据预设时长,将所述业务数据拆分成多个窗口数据。
可选地,根据预设数据个数,将所述业务数据拆分成多个窗口数据。
可选地,利用所述多个处理实例抢占所述窗口数据;并利用所述多个处理实例对其抢占到的窗口数据进行业务处理。
可选地,利用两个业务处理系统抢占所述业务数据的业务处理权限;通过抢占到所述业务处理权限的第一系统对所述窗口数据进行处理;并通过未抢占到所述业务处理权限的第二系统对所述第一系统进行监控,并在所述第一系统出现异常时,替代所述第一系统进行业务处理。
为实现上述目的,根据本发明实施例的又一方面,提供了一种业务处理装置。
本发明实施例的一种业务处理装置包括:监控模块,用于监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;异常定位模块,用于在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;并读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;业务处理模块,用于根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
为实现上述目的,根据本发明实施例的又一方面,提供了一种服务器。
本发明实施例的一种服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种业务处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种业务处理方法。
上述发明中的一个实施例具有如下优点或有益效果:通过监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。由此通过将业务数据拆分成窗口数据,由多个处理实例并行处理,并在处理过程中记录各窗口数据对应的中间数据,从而使得异常恢复时能够根据中间数据进行异常恢复,进而避免了将业务流程全部进行重新处理,因此,从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种业务处理方法的主要步骤的示意图;
图2是根据本发明实施例的一种业务数据处理的主要步骤的示意图;
图3是根据本发明实施例的一种状态控制表更新的主要步骤的示意图;
图4是根据本发明实施例的一种业务处理方法的主要步骤的示意图;
图5是根据本发明实施例的一种业务处理装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例的业务处理方法的主要步骤的示意图。
如图1所示,本发明实施例的业务处理方法主要包括以下步骤:
步骤S101:监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的。
其中,处理实例为业务处理系统中处理业务数据的并行算子,业务处理系统中具有多个处理实例,其可以同时对业务数据进行处理。在本实施例中,处理实例处理的业务数据的最小单元为窗口数据,该窗口数据是根据预先配置的数据拆分规则对业务数据进行分段或分组得到的。数据拆分规则是根据业务处理的实际需求确定的。
在本发明的一个实施例中,根据预设时长,将所述业务数据拆分成多个窗口数据。
可以根据接收业务数据的时间对业务数据进行拆分,比如将每30S内接收的业务数据划分为一个窗口数据,还比如将每2分钟内接收的业务数据划分为一个窗口数据。可以理解的是,预设时长可根据业务特点,或者业务需要自行设置。
在本发明的一个实施例中,根据预设数据个数,将所述业务数据拆分成多个窗口数据。
还可以根据业务数据包的数量划分窗口数据,比如每10个数据包,划分为一个窗口数据,或者每30个数据包划分为一个窗口数据。同样可以理解的是,预设数据个数也可以根据业务特点、或业务需要自行设置。
在本发明的一个实施例中,根据预设时长和预设数据个数,将所述业务数据拆分成多个窗口数据。
还可以同时根据预设时长和预设数据个数对业务数据进行拆分,其中存在两种情况:第一,首先根据预设时长进行业务数据拆分,并将根据预设数据个数拆分业务数据作为辅助拆分规则;第二,主要根据预设数据个数进行业务数据拆分,并将根据预设时长拆分业务数据作为辅助拆分规则,比如将每10个数据包划分为一个窗口数据,但在很长时间内仍没有接收到10个数据包,此时若继续等待的话会使得相关业务的处理不够及时,因此此时还需要限定接收数据包的时长,即在接收到的数据包个数未达到预设数据个数,但已达到预设时长的情况下,将当前接收到的数据包划分为一个数据窗口;同样地,当根据预设时长对接收到的业务数据划分窗口数据时,若某段时间内接收到的数据包突增,若仍根据预设时长拆分业务数据,使得一个窗口数据包括的数据量太大,影响业务处理的效率,因此还需要限定一个窗口数据包含的数据个数上限,因此,即便在接收数据包的时长未达到预设时长,但接收到的数据包的个数已达到预设数据个数的情况下,将当前接收到数据包划分为一个窗口数据。采用预设时长和预设数据个数相结合的方式,对业务数据进行拆分,使得数据处理的灵活性更高,间接地提高了业务数据处理的效率。
为了提高业务处理的效率,每一套业务处理系统都包括多个处理实例,其可以同时对业务数据进行处理。在本发明的一个实施例中,利用所述多个处理实例抢占所述窗口数据;并利用所述多个处理实例对其抢占到的窗口数据进行业务处理。
为了能够不重不漏地处理拆分后的多个窗口数据,业务处理系统的多个处理实例通过抢占各窗口数据对应的处理权限获得对相应窗口数据的处理权限,由抢占到处理权限的处理实例对相应的窗口数据进行业务处理。
下面进一步对业务数据的处理进行实例性说明,如图2所示,业务数据处理主要包括以下步骤:
步骤S201:接收业务数据。
步骤S202:将业务数据拆分成多个窗口数据。
步骤S203:利用多个处理实例分别抢占多个窗口数据。
步骤S204:利用抢占到窗口数据的处理实例处理相应的窗口数据。
为了能够及时发现业务数据处理过程中的异常情况,在本发明的一个实施例中,所述监控多个处理实例的运行是否出现异常,包括:从所述多个处理实例对应的状态控制表中,读取对应的窗口数据的状态更新时间以及处理状态;所述处理状态包括未处理、处理中和已处理;根据所述状态更新时间以及所述处理状态,确定所述对应的窗口数据的状态信息的更新频率是否异常;根据所述更新频率是否异常,确定所述多个处理实例的运行是否出现异常。
其中,状态控制表中记录了各个窗口数据对应的状态数据值、处理状态、状态更新时间以及状态更新截止时间;状态数据值是指更新状态控制表的当下相应窗口数据对应的最新数据结果;处理状态指示了该窗口数据当前是未处理、处理中或已处理;状态更新时间为相应的窗口数据或窗口数据中的数据包的处理状态出现变化之后,比如从“未处理”变为“处理中”之后,在状态控制表中更新该处理状态的时间;状态更新截止时间为该状态更新时间再加上预设时长t,该预设时长t定义了两个状态更新的时间间隔,设置该预设时长t的目的即是实现状态控制表的定时更新。进一步地,在窗口数据包括多个数据包的情况下,为每个数据包编号,在状态控制表中相应的窗口数据编号下,记录其包括的每个数据包的状态信息及状态更新时间信息,比如某窗口数据的编号为A,其包括的数据包编号为A1、A2、A3……,在状态控制表中可以根据该窗口数据编号和数据包编号,记录各窗口数据及其包含的数据包的状态信息及状态更新时间信息。
状态控制表的作用有两个,第一,用于在处理实例出现异常的情况下,从该状态控制表中读取其中记录的相关窗口数据的最新状态数据值,以根据该最新状态数据值对相关业务进行断点续做,从而避免了从头开始处理该项业务,最大限度地节省了数据恢复的时间;第二,用于监控处理实例是否处于正常运行状态,即根据状态控制表中的状态更新时间和窗口数据对应的处理状态的更新频率,将根据状态控制表中状态信息和时间信息确定的更新频率,与根据正常运行情况确定的更新频率阈值相比,确定该处理实例是否正常运行。在确定该处理实例出现异常时,根据状态控制表中的状态数据值,进行断点续做,以实现业务数据恢复。
步骤S102:在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号。
通过监控多个处理实例的运行情况,确定出目标处理实例运行出现异常,并确定该处理实例正在处理的窗口数据对应的窗口编号,以便于根据该窗口编号从状态控制表中查询其对应的状态数据值。
步骤S103:读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果。
状态控制表中保存状态数据值的方式可以是将一段时间内历史状态数据值都保存,也可以是只保存当前最新的状态数据值,选择何种方式进行保存,可以根据业务实际需要来确定。不管采用哪种方式保存,在本实施例中,读取的状态数据值均指的是最新的状态数据值,读取最新的状态数据值之后,即对相关业务进行断点续做。
步骤S104:根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
在本发明的一个实施例中,所述根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值,包括:根据所述状态数据值,对所述窗口数据进行处理,得到所述处理结果;确定当前时间是否大于状态控制表中所述窗口数据对应的状态更新截止时间;所述状态控制表记录了所述窗口数据的历史状态更新情况;在所述当前时间大于所述状态更新截止时间的情况下,根据所述处理结果确定所述新的状态数据值,并将所述新的状态数据值记录到所述状态控制表中。
根据状态控制表中保存的最新状态数据值进行断点续做后,得到新的数据处理结果,即新的状态数据值,此时需要对状态控制表进行更新。由于状态控制表是定期更新的,因此需要确定当前时间是否大于状态控制表中该窗口数据对应的状态更新截止时间,即确定当前时间与状态控制表中该窗口数据对应的状态更新时间的时间间隔是否大于预设时长t,如果是,则对状态控制表进行更新。对状态控制表的更新包括将新的状态数据值保存到该状态控制表中,如前面所述,可以将原来保存的状态数据值覆盖,也可以在原来保存的状态数据值的基础上添加新的状态数据值。
为了实现对状态控制表的定期更新,在本发明的一个实施例中,本实施例提供的方法还包括:根据所述处理结果确定所述窗口数据对应的新的处理状态;将所述新的处理状态与所述窗口编号对应保存至所述状态控制表中;根据所述当前时间更新所述状态控制表中的所述窗口编号对应的状态更新时间;根据更新后的状态更新时间与预设时长之和,更新所述状态控制表中的所述窗口编号对应的所述状态更新截止时间。
对状态控制表的更新除了包括将新的状态数据值保存到该状态控制表中,还包括更新窗口数据或窗口数据中的数据包的处理状态、更新状态更新时间、以及状态更新截止时间。
下面进一步对状态控制表的更新进行实例性说明,如图3所示,业务数据处理主要包括以下步骤:
步骤S301:获取对应窗口数据的处理结果。
步骤S302:确定当前时间是否大于该窗口数据对应的状态更新截止时间,如果是,执行步骤S303;如果否,执行步骤S306。
步骤S303:根据处理结果确定对应的状态数据值,并将状态数据值保存到状态控制表中。
步骤S304:将对应的处理状态保存到状态控制表中。
步骤S305:将状态更新时间及状态更新截止时间保存到状态控制表中。
步骤S306:读取处理该窗口数据的处理实例对应的处理指令。
为了实现对业务处理过程的人为干预,比如暂停、暂停恢复、或停止某项业务的处理,在本发明的一个实施例中,本实施例提供的方法还包括:在所述当前时间不大于所述状态更新截止时间的情况下,读取所述目标处理实例对应的处理指令,以使所述目标处理实例根据所述处理指令进行操作。其中,处理指令指示了人为干预指令,比如指示暂停该处理实例对当前窗口数据的处理。将人为干预的时机设置在该处理实例对当前窗口数据处理完成后、且对状态控制表更新之前。
为了确保业务处理的持续、不间断地进行,在本发明的一个实施例中,利用两个业务处理系统抢占所述业务数据的业务处理权限;通过抢占到所述业务处理权限的第一系统对所述窗口数据进行处理;并通过未抢占到所述业务处理权限的第二系统对所述第一系统进行监控,并在所述第一系统出现异常时,替代所述第一系统进行业务处理。
具体地,采用部署两套业务处理系统,其中一套为主系统,另一套为备用系统的方式对业务数据进行处理。两套系统通过抢占标志文件的方式成为主系统和备用系统,抢到该标志文件的系统为主系统,未抢到该标志文件的系统为备用系统,其中该标志文件指示了处理业务数据的权限。确定主、备系统之后,由主系统处理业务数据,备用系统负责监控主系统,在主系统出现异常时,该备用系统成为主系统进行业务处理。可以理解的是,当原来的主系统恢复正常运行时,此时其成为备用系统,负责监控当前主系统,并在当前主系统出现异常情况下,取代当前主系统,重新成为主系统。
下面进一步对本发明实施例的业务处理方法进行实例性说明,如图4所示,业务数据处理主要包括以下步骤:
步骤S401:读取状态控制表中的状态更新信息和时间更新信息。
步骤S402:根据状态、时间更新信息确定出运行异常的目标处理实例。
步骤S403:确定目标处理实例对应的窗口数据的窗口编号。
步骤S404:读取状态控制表中该窗口编号对应的最新状态数据值。
步骤S405:根据已保存的最新状态数据值对窗口数据进行后续业务处理。
根据本发明实施例的业务处理方法可以看出,通过监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。由此通过将业务数据拆分成窗口数据,由多个处理实例并行处理,并在处理过程中记录各窗口数据对应的中间数据,从而使得异常恢复时能够根据中间数据进行异常恢复,进而避免了将业务流程全部进行重新处理,因此,从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。
图5是根据本发明实施例的业务处理装置的主要模块的示意图。
如图5所示,本发明实施例的业务处理装置500包括:监控模块501、异常定位模块502和业务处理模块503,其中,
监控模块501,用于监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;
异常定位模块502,用于在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;并读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;
业务处理模块503,用于根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
在本发明的一个实施例中,业务处理模块503,还用于根据所述状态数据值,对所述窗口数据进行处理,得到所述处理结果;确定当前时间是否大于状态控制表中所述窗口数据对应的状态更新截止时间;所述状态控制表记录了所述窗口数据的历史状态更新情况;在所述当前时间大于所述状态更新截止时间的情况下,根据所述处理结果确定所述新的状态数据值,并将所述新的状态数据值记录到所述状态控制表中。
在本发明的一个实施例中,业务处理模块503,还用于根据所述处理结果确定所述窗口数据对应的新的处理状态;将所述新的处理状态与所述窗口编号对应保存至所述状态控制表中;根据所述当前时间更新所述状态控制表中的所述窗口编号对应的状态更新时间;根据更新后的状态更新时间与预设时长之和,更新所述状态控制表中的所述窗口编号对应的所述状态更新截止时间。
在本发明的一个实施例中,业务处理模块503,还用于在所述当前时间不大于所述状态更新截止时间的情况下,读取所述目标处理实例对应的处理指令,以使所述目标处理实例根据所述处理指令进行操作。
在本发明的一个实施例中,监控模块501,还用于从所述多个处理实例对应的状态控制表中,读取对应的窗口数据的状态更新时间以及处理状态;所述处理状态包括未处理、处理中和已处理;根据所述状态更新时间以及所述处理状态,确定所述对应的窗口数据的状态信息的更新频率是否异常;根据所述更新频率是否异常,确定所述多个处理实例的运行是否出现异常。
在本发明的一个实施例中,所述业务处理装置还包括数据拆分模块,所述数据拆分模块504,用于根据预设时长,将所述业务数据拆分成多个窗口数据。
在本发明的一个实施例中,所述数据拆分模块504,还用于根据预设数据个数,将所述业务数据拆分成多个窗口数据。
在本发明的一个实施例中,所述业务处理装置还包括业务处理模块,所述业务处理模块503,用于利用所述多个处理实例抢占所述窗口数据;并利用所述多个处理实例对其抢占到的窗口数据进行业务处理。
在本发明的一个实施例中,所述业务处理装置还包括主备控制模块,所述主备控制模块505,用于利用两个业务处理系统抢占所述业务数据的业务处理权限;通过抢占到所述业务处理权限的第一系统对所述窗口数据进行处理;并通过未抢占到所述业务处理权限的第二系统对所述第一系统进行监控,并在所述第一系统出现异常时,替代所述第一系统进行业务处理。
根据本发明实施例的业务处理装置可以看出,通过监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。由此通过将业务数据拆分成窗口数据,由多个处理实例并行处理;并在处理过程中记录各窗口数据对应的中间数据,从而使得异常恢复时能够根据中间数据进行异常恢复,进而避免了将业务流程全部进行重新处理,因此,从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。
图6示出了可以应用本发明实施例的业务处理方法或业务处理装置的示例性系统架构600。
如图6所示,系统架构600可以包括客户端设备601、602、603,网络604和业务处理服务器605。网络604用以在客户端设备601、602、603和业务处理服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户端设备601、602、603通过网络604与业务处理服务器605交互,以接收或发送消息等,并且用户可以通过客户端设备601、602、603向业务处理服务器605发送业务数据。
业务处理服务器605可以是提供各种服务的服务器,例如对客户端设备601、602、603发送的业务数据进行处理提供支持的后台管理服务器。后台管理服务器可以对获取到的业务数据进行分析等处理,并根据处理结果对状态控制表进行更新。
需要说明的是,本发明实施例所提供的业务处理方法一般由业务处理服务器605执行,相应地,业务处理装置一般设置于业务处理服务器605中。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括监控模块、异常定位模块和业务处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,业务处理模块还可以被描述为“根据所述状态数据值继续对所述窗口数据进行后续业务处理的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
根据本发明实施例的技术方案,通过监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。由此通过将业务数据拆分成窗口数据,由多个处理实例并行处理;并在处理过程中记录各窗口数据对应的中间数据,从而使得异常恢复时能够根据中间数据进行异常恢复,进而避免了将业务流程全部进行重新处理,因此,从整体上提高了业务处理的效率,且在进行异常恢复后保证了业务连续性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种业务处理方法,其特征在于,包括:
监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;
在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;
读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;
根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值,包括:
根据所述状态数据值,对所述窗口数据进行处理,得到所述处理结果;
确定当前时间是否大于状态控制表中所述窗口数据对应的状态更新截止时间;所述状态控制表记录了所述窗口数据的历史状态更新情况;
在所述当前时间大于所述状态更新截止时间的情况下,根据所述处理结果确定所述新的状态数据值,并将所述新的状态数据值记录到所述状态控制表中。
3.根据权利要求2所述的方法,其特征在于,还包括:
根据所述处理结果确定所述窗口数据对应的新的处理状态;
将所述新的处理状态与所述窗口编号对应保存至所述状态控制表中;
根据所述当前时间更新所述状态控制表中的所述窗口编号对应的状态更新时间;
根据更新后的状态更新时间与预设时长之和,更新所述状态控制表中的所述窗口编号对应的所述状态更新截止时间。
4.根据权利要求2所述的方法,其特征在于,还包括:
在所述当前时间不大于所述状态更新截止时间的情况下,读取所述目标处理实例对应的处理指令,以使所述目标处理实例根据所述处理指令进行操作。
5.根据权利要求1所述的方法,其特征在于,所述监控多个处理实例的运行是否出现异常,包括:
从所述多个处理实例对应的状态控制表中,读取对应的窗口数据的状态更新时间以及处理状态;所述处理状态包括未处理、处理中和已处理;
根据所述状态更新时间以及所述处理状态,确定所述对应的窗口数据的状态信息的更新频率是否异常;
根据所述更新频率是否异常,确定所述多个处理实例的运行是否出现异常。
6.根据权利要求1所述的方法,其特征在于,
根据预设时长,将所述业务数据拆分成多个窗口数据;
和/或,
根据预设数据个数,将所述业务数据拆分成多个窗口数据。
7.根据权利要求1所述的方法,其特征在于,
利用所述多个处理实例抢占所述窗口数据;并利用所述多个处理实例对其抢占到的窗口数据进行业务处理;
和/或,
利用两个业务处理系统抢占所述业务数据的业务处理权限;通过抢占到所述业务处理权限的第一系统对所述窗口数据进行处理;并通过未抢占到所述业务处理权限的第二系统对所述第一系统进行监控,并在所述第一系统出现异常时,替代所述第一系统进行业务处理。
8.一种业务处理装置,其特征在于,包括:
监控模块,用于监控多个处理实例的运行是否出现异常;所述多个处理实例用于对窗口数据进行处理;所述窗口数据是根据预先配置的数据拆分规则对业务数据进行拆分得到的;
异常定位模块,用于在所述多个处理实例中的目标处理实例的运行出现异常的情况下,确定所述目标处理实例正在处理的窗口数据的窗口编号;并读取所述窗口编号对应的状态数据值;所述状态数据值指示了所述目标处理实例在出现异常之前处理所述窗口数据得到的最新数据结果;
业务处理模块,用于根据所述状态数据值继续对所述窗口数据进行后续业务处理,并根据处理结果记录所述窗口数据对应的新的状态数据值。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202311403471.2A 2023-10-26 2023-10-26 一种业务处理方法及装置 Pending CN117149583A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311403471.2A CN117149583A (zh) 2023-10-26 2023-10-26 一种业务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311403471.2A CN117149583A (zh) 2023-10-26 2023-10-26 一种业务处理方法及装置

Publications (1)

Publication Number Publication Date
CN117149583A true CN117149583A (zh) 2023-12-01

Family

ID=88910382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311403471.2A Pending CN117149583A (zh) 2023-10-26 2023-10-26 一种业务处理方法及装置

Country Status (1)

Country Link
CN (1) CN117149583A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151272A1 (en) * 2010-12-09 2012-06-14 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
CN106850740A (zh) * 2016-12-19 2017-06-13 中国科学院信息工程研究所 一种高吞吐数据流处理方法
CN112673586A (zh) * 2020-12-08 2021-04-16 华为技术有限公司 数据包处理方法和装置
CN113722099A (zh) * 2021-09-01 2021-11-30 烽火通信科技股份有限公司 一种千万级数据分片处理方法和装置
CN115981979A (zh) * 2022-12-05 2023-04-18 中国工商银行股份有限公司 日志数据处理方法、装置、设备、介质和计算机程序产品

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151272A1 (en) * 2010-12-09 2012-06-14 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
CN106850740A (zh) * 2016-12-19 2017-06-13 中国科学院信息工程研究所 一种高吞吐数据流处理方法
CN112673586A (zh) * 2020-12-08 2021-04-16 华为技术有限公司 数据包处理方法和装置
CN113722099A (zh) * 2021-09-01 2021-11-30 烽火通信科技股份有限公司 一种千万级数据分片处理方法和装置
CN115981979A (zh) * 2022-12-05 2023-04-18 中国工商银行股份有限公司 日志数据处理方法、装置、设备、介质和计算机程序产品

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李晓勤;: "多进程在银行联机事务批量处理中的应用", 中国金融电脑, no. 12 *
潘勇;方俊;彭省临;: "基于CPN的μC/OS系统实时性能分析", 计算机工程与设计, no. 08 *
程淼;: "一起数据库服务器故障引发调度命令模块异常的处理", 铁道通信信号, no. 01 *

Similar Documents

Publication Publication Date Title
CN109905286B (zh) 一种监控设备运行状态的方法和系统
CN110213620B (zh) 带宽分配方法及装置
JP7406010B2 (ja) ベースライン監視方法、装置、読み取り可能な媒体、及び電子機器
CN115328741A (zh) 一种异常处理方法、装置、设备和存储介质
CN111930306A (zh) 一种数据处理方法和装置
CN114064438A (zh) 数据库故障处理方法和装置
CN110716763B (zh) web容器自动优化方法、装置、存储介质及电子设备
CN117149583A (zh) 一种业务处理方法及装置
CN113595887B (zh) 一种邮件系统中的流量控制方法和装置
CN114816866A (zh) 故障处理方法、装置、电子设备和存储介质
CN113360348B (zh) 异常请求处理方法、装置、电子设备和存储介质
CN115562859A (zh) 数据的处理方法、装置、电子设备及计算机存储介质
CN105677510A (zh) 通信处理器的监控方法和智能终端
CN111080250B (zh) 流程回退补偿方法、装置、存储介质及电子设备
CN114610331A (zh) 软件安装方法和系统
CN111950232B (zh) 一种自动切换号段的方法和装置
CN112306746A (zh) 在应用环境中管理快照的方法、设备和计算机程序产品
CN111179097B (zh) 保单批改的方法、装置、电子设备和存储介质
CN117061503B (zh) 镜像文件管理方法、装置、计算机可读介质及电子设备
US11797291B2 (en) Software update management device and software update management method
CN112948065B (zh) 基于Kubernetes的调度自动化系统管理装置
CN112965827B (zh) 信息调度方法、装置、电子设备和计算机介质
CN110632863B (zh) 一种无人机数据传输的方法和装置
CN113765971A (zh) 控制接口的方法、装置、设备和计算机可读介质
CN114745261A (zh) 基于Agent的智能化管理方法、装置、设备及存储介质

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