CN111401837A - 事件处理方法和系统、计算机可读存储介质 - Google Patents

事件处理方法和系统、计算机可读存储介质 Download PDF

Info

Publication number
CN111401837A
CN111401837A CN202010169683.9A CN202010169683A CN111401837A CN 111401837 A CN111401837 A CN 111401837A CN 202010169683 A CN202010169683 A CN 202010169683A CN 111401837 A CN111401837 A CN 111401837A
Authority
CN
China
Prior art keywords
event
task
processed
processing method
group
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
Application number
CN202010169683.9A
Other languages
English (en)
Other versions
CN111401837B (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202010169683.9A priority Critical patent/CN111401837B/zh
Publication of CN111401837A publication Critical patent/CN111401837A/zh
Application granted granted Critical
Publication of CN111401837B publication Critical patent/CN111401837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种事件处理方法和系统、计算机可读存储介质,事件处理方法包括:接收创建指令,根据创建指令确定群组,并创建与群组相对应的待处理事件;接收群组内对应于待处理事件的添加指令,根据添加指令生成待处理事件对应的任务项;执行任务项,直至待处理事件处理完成。在创建事件时,首先确定一个群组,群组内可以包括管理员和任务相关的组员。在根据创建指令创建待处理事件后,群组内的任一组员终端均可以通过添加指令,在待处理事件下添加对应的任务项,使得群组内的群员可以同时建立任务项,或对已有任务进行调整,进而使得多个工作终端可以协同建立并发布同一个事件,有效地提高了事件处理的效率。

Description

事件处理方法和系统、计算机可读存储介质
技术领域
本发明涉及软件技术领域,具体而言,涉及一种事件处理方法、一种事件处理系统和一种计算机可读存储介质。
背景技术
在相关技术中,为满足运营活动的丰富性,需要频繁的发布事件或任务并进行处理。而在发布或处理事件时,由于缺少高效的协同系统,往往需要针对每一个独立事件新建事件模板,造成“重复造轮子”的情况,浪费人力资源。
因此,目前亟需一种高效的、能满足协同需求的事件发布和处理的方法。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一方面提出一种事件处理方法。
本发明的第二方面提出一种事件处理系统。
本发明的第三方面提出一种计算机可读存储介质。
有鉴于此,本发明的第一方面提供了一种事件处理方法,包括:接收创建指令,根据创建指令确定群组,并创建与群组相对应的待处理事件;接收群组内对应于待处理事件的添加指令,根据添加指令生成待处理事件对应的任务项;执行任务项,直至待处理事件处理完成。
在该技术方案中,在创建事件时,首先向系统发出创建指令,系统在接收到创建指令后,首先确定一个群组,该群组为所创建任务的对应群组,群组内可以包括管理员和任务相关的组员(终端或账号)。在根据创建指令创建待处理事件后,群组内的任一组员终端均可以通过添加指令,在待处理事件下添加对应的任务项,使得群组内的群员可以同时建立任务项,或对已有任务进行调整,进而使得多个工作终端可以协同建立并发布同一个事件,有效地提高了事件处理的效率。
具体地,在本发明中,“事件”具体可以指代一类具有相同动作(或拥有相同能力)的行动做成,如:日常短信触达事件、日常推送触达事件等。任务项具体可以指代事件的子集,即一个事件可以包括多个任务项,多个任务项可以具有相同或不同的类型。以创建一个车主邀请事件为例:
接收车主邀请事件的创建指令,根据创建指令确定该事件对应的管理员与执行人,并建立对应的群组。在群组中,接收任一群员的添加指令,添加指令可以包括车主A的信息,如车主A的电话号码和邀请文本,并根据上述内容生成一个任务项“通过短信给车主A的电话号码发送邀请文本”,同时其他群员可以建立其他的任务项,如给车主B、车主C等发送邀请文本。多个任务项建立完成后,该事件即创建完成。此时,通过系统依次执行所有被建立的任务项,直至全部任务项被执行,待处理事件“车主邀请”处理完成。
另外,本发明提供的上述技术方案中的事件处理方法还可以具有如下附加技术特征:
在上述技术方案中,创建与群组相对应的待处理事件的步骤,具体包括:根据创建指令确定对应的事件动作和事件类型,根据事件动作和事件类型生成事件协议,并在数据库中存储事件协议以得到待处理事件。
在该技术方案中,创建指令中包括所创建事件独赢的事件动作和事件类型,根据事件动作和事件类型生成一个事件协议,该事件下的所有任务项均被要求符合该事件协议。在确定事件协议后,将事件协议持久化存储在数据库,如MySQL数据库中,即完成一个待处理事件的创建。
其中,每个待处理事件被创建完成后,均会为该待处理事件分配一个唯一的标识信息(key),在位该待处理事件添加任务项时,仅需输入对应的标识信息即可定位到目标待处理事件,降低操作成本。
在上述任一技术方案中,在执行任务项的步骤之前,事件处理方法还包括:获取任务项的数量信息,根据数量信息确定任务项对应的任务数据;根据事件协议在任务数据中填充任务项对应的字段,并生成任务项对应的任务线程;将任务线程派发至对应的执行实体。
在该技术方案中,在执行任务项之前,需要将对应的任务项派发至相应的执行实体。具体地,首先获取任务项的数量信息,生产端按照任务项数量拼装任务数据,并根据该任务项所述待处理事件的事件协议,填充任务数据中的必要字段,得到该任务项对应的任务线程,将任务线程派发至对应的执行实体,执行实体可直接根据任务数据运行该任务线程,直至待处理事件被处理完成。在该过程中,生产端能够自动完成任务数据的拼装和关键字段的填充,进而有效地提高任务项的处理速度,待处理事件的参与者仅需将注意力集中在功能实现上,无需执行重复的数据操作,节约人力资源的同时减少了人为失误,提高了任务处理的效率。
在上述任一技术方案中,将任务线程派发至对应的执行实体的步骤,具体包括:将任务线程发送至代理服务器,通过代理服务器对任务线程进行校验;确定任务数据通过校验,控制代理服务器将任务线程发送至对应的执行实体。
在该技术方案中,通过设置代理服务器(Proxy)解析消息体,以对任务线程进行协议检查、用户过滤等校验操作,代理服务器允许将通过校验的任务线程发送至对应的执行实体进行执行,并拦截无法通过校验的任务线程,避免无效任务项或非法任务项到达执行实体,进而减少无效触达。
在上述任一技术方案中,事件处理方法还包括:通过令牌桶算法确定任务线程对应的预定速率,按照预定速率将任务线程发送至执行实体。
在该技术方案中,为了防止网络拥塞,规定每个发送窗口在单位事件内仅允许发送固定数量的任务线程。具体地,可以通过令牌同算法对任务线程的发送速率进行限制,得到限速后的预定速率,按照恒定的预定速率完成任务线程的派发,一方面避免了网络拥塞,另一方面提高了数据收发的可靠性,降低数据损坏的风险。
在上述任一技术方案中,通过代理服务器对任务线程进行校验的步骤,具体包括:获取用户拦截策略,并为任一任务线程设置第一识别标识;确定不存在与第一识别标识相重复的第二识别标识,且任务线程与事件协议相匹配,且任务项对应的用户信息不满足用户拦截策略,确定任务线程通过校验。
在该技术方案中,代理服务器为接收到的每一个任务线程设置一个唯一的第一识别标识,用于查重。当任务池中,不存在与第一识别标识重复的第二识别标识时,可以判定该任务线程唯一,没有出现重复发送线程的情况。同时,代理服务器还需要确定任务线程与对应的事件协议相匹配,若任务线程与事件协议不匹配,则认定该任务线程不属于当前待处理事件,并放弃该任务线程。同时,代理服务器获取用户拦截策略,并判断每一个任务线程对应的建立用户是否满足用户拦截策略,以针对不合规用户及其他管控策略拦截用户,减少无效触达。
当且仅当不存在重复的任务线程,且任务线程与当前事件协议相匹配,同时任务线程对应的用户信息不满足用户拦截策略时,才会认定任务线程通过校验,进而避免了无效任务线程占用处理资源,提高了任务处理的效率。
在上述任一技术方案中,事件处理方法还包括:根据事件动作确定任务线程对应的执行顺序,控制执行实体按照执行顺序运行任务线程,以执行任务项。
在该技术方案中,事件动作指示了待处理事项中,每一个所包含的任务项的执行顺序。执行实体按照事件动作中所编排的动作顺序,逐个执行每个任务项对应的任务线程。其中,执行过程整体不需要遵循ACID(Atomicity、Consistency、Isolation和Durability,即事件的原子性、一致性、独立性和持久性)原则,具体为不需要保证事件的原子性,即允许中途终止待处理事件的执行过程,提高事件执行的灵活性。
在上述任一技术方案中,事件处理方法还包括:确定任务项配置有回调标识,根据回调表示获取任务项对应的执行结果,并向回调标识对应的回调地址反馈执行结果。
在该技术方案中,若一个任务项被配置有回调(Call Back)标识,则在该任务项被执行结束后,通过回调标识确定对应的回调地址,冰箱回调地址和群组中的用户终端反馈该任务项的执行结果。
在上述任一技术方案中,获取到任一任务项的执行结果为执行失败;或获取到待处理事件对应的全部任务项对应的执行结果均为执行成功,确定待处理事件处理完成,并向群组对应的终端反馈待处理事件对应的处理结果;其中,处理结果包括:任务项的执行数量和任一任务项的执行结果。
在该技术方案中,由于事件整体不需要遵循ACID原则,当任一任务项对应的动作处理失败时,事件动作所规定的执行顺序中,处理失败的任务项之后的后续任务项将不会被执行,即被放弃,此时待处理事件结束。
若待处理事件中的全部任务项均被处理处理完成,且执行结果为执行成功,同样将待处理事件确定为处理完成状态。在处理完成后,向当前群组内的全部终端反馈该处理结果。处理结果包括了被执行的任务项的数量,和每一个任务项对应的执行结果。并对待处理事件的具体内容、标示以及处理结果进行持久化存储,以供后续调用。
在上述任一技术方案中,事件处理方法还包括:接收对应于群组的申请信息,并获取申请信息对应的审核信息;确定审核信息为通过审核,将申请信息对应的终端添加至群组中,以通过开放接口接收终端发送的添加指令。
在该技术方案中,当一个待执行任务的群组被建立后,后续终端或用户可通过该群组的识别信息发出加入群组的申请信息,并由管理员或上级用户对申请信息进行审核,返回对应的审核信息。当用户或终端通过审核后,则该用户对应的终端被添加至该群组中。同时,系统包括开放接口(OPEN API),群组中的成员可通过开放接口发送添加指令以编辑任务项,实现了多成员的协同工作。
本发明第二方面提供了一种事件处理系统,包括:存储器,被配置为存储计算机程序;处理器,被配置为执行计算机程序时以实现如上述任一技术方案中提供的事件处理方法,因此,该事件处理系统包括如上述任一技术方案中提供的事件处理方法的全部有益效果,在此不再赘述。
本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一技术方案中提供的事件处理方法,因此,该计算机可读存储介质包括如上述任一技术方案中提供的事件处理方法的全部有益效果,在此不再赘述。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的事件处理方法的流程图;
图2示出了根据本发明的一个实施例的事件处理方法的另一个流程图;
图3示出了根据本发明的一个实施例的事件处理方法的又一个流程图;
图4示出了根据本发明的一个实施例的事件处理方法中所应用系统的结构示意图;
图5示出了根据本发明的一个实施例的事件处理方法中所应用系统的运行流程示意图;
图6示出了根据本发明的一个实施例的事件处理方法的交互界面示意图;
图7示出了根据本发明的一个实施例的事件处理方法的另一个交互界面示意图;
图8示出了根据本发明的一个实施例的事件处理方法的又一个交互界面示意图;
图9示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图10示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图11示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图12示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图13示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图14示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图15示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图16示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图17示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图18示出了根据本发明的一个实施例的事件处理方法的再一个交互界面示意图;
图19示出了根据本发明的一个实施例的事件处理系统的结构框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图19描述根据本发明一些实施例所述事件处理方法、事件处理系统和计算机可读存储介质。
实施例一
如图1所示,在本发明第一方面的实施例中,提供了一种事件处理方法,包括:
步骤S102,接收创建指令,根据创建指令确定群组,并创建与群组相对应的待处理事件;
步骤S104,接收群组内对应于待处理事件的添加指令,根据添加指令生成待处理事件对应的任务项;
步骤S106,执行任务项,直至待处理事件处理完成。
在该实施例中,在创建事件时,首先向系统发出创建指令,系统在接收到创建指令后,首先确定一个群组,该群组为所创建任务的对应群组,群组内可以包括管理员和任务相关的组员(终端或账号)。在根据创建指令创建待处理事件后,群组内的任一组员终端均可以通过添加指令,在待处理事件下添加对应的任务项,使得群组内的群员可以同时建立任务项,或对已有任务进行调整,进而使得多个工作终端可以协同建立并发布同一个事件,有效地提高了事件处理的效率。
具体地,在本发明中,“事件”具体可以指代一类具有相同动作(或拥有相同能力)的行动做成,如:日常短信触达事件、日常推送触达事件等。任务项具体可以指代事件的子集,即一个事件可以包括多个任务项,多个任务项可以具有相同或不同的类型。以创建一个车主邀请事件为例:
接收车主邀请事件的创建指令,根据创建指令确定该事件对应的管理员与执行人,并建立对应的群组。在群组中,接收任一群员的添加指令,添加指令可以包括车主A的信息,如车主A的电话号码和邀请文本,并根据上述内容生成一个任务项“通过短信给车主A的电话号码发送邀请文本”,同时其他群员可以建立其他的任务项,如给车主B、车主C等发送邀请文本。多个任务项建立完成后,该事件即创建完成。此时,通过系统依次执行所有被建立的任务项,直至全部任务项被执行,待处理事件“车主邀请”处理完成。
在本发明的一个实施例中,创建与群组相对应的待处理事件的步骤,具体包括:根据创建指令确定对应的事件动作和事件类型,根据事件动作和事件类型生成事件协议,并在数据库中存储事件协议以得到待处理事件。
在该实施例中,创建指令中包括所创建事件独赢的事件动作和事件类型,根据事件动作和事件类型生成一个事件协议,该事件下的所有任务项均被要求符合该事件协议。在确定事件协议后,将事件协议持久化存储在数据库,如MySQL数据库中,即完成一个待处理事件的创建。
其中,每个待处理事件被创建完成后,均会为该待处理事件分配一个唯一的标识信息(key),在位该待处理事件添加任务项时,仅需输入对应的标识信息即可定位到目标待处理事件,降低操作成本。
在本发明的一个实施例中,如图2所示,在执行任务项的步骤之前,事件处理方法还包括:
步骤S202,获取任务项的数量信息,根据数量信息确定任务项对应的任务数据;
步骤S204,根据事件协议在任务数据中填充任务项对应的字段,并生成任务项对应的任务线程;
步骤S206,将任务线程派发至对应的执行实体。
在该实施例中,在执行任务项之前,需要将对应的任务项派发至相应的执行实体。具体地,首先获取任务项的数量信息,生产端按照任务项数量拼装任务数据,并根据该任务项待处理事件的事件协议,填充任务数据中的必要字段,得到该任务项对应的任务线程,将任务线程派发至对应的执行实体,执行实体可直接根据任务数据运行该任务线程,直至待处理事件被处理完成。在该过程中,生产端能够自动完成任务数据的拼装和关键字段的填充,进而有效地提高任务项的处理速度,待处理事件的参与者仅需将注意力集中在功能实现上,无需执行重复的数据操作,节约人力资源的同时减少了人为失误,提高了任务处理的效率。
在本发明的一个实施例中,将任务线程派发至对应的执行实体的步骤,具体包括:将任务线程发送至代理服务器,通过代理服务器对任务线程进行校验;确定任务数据通过校验,控制代理服务器将任务线程发送至对应的执行实体。
在该实施例中,通过设置代理服务器(Proxy)解析消息体,以对任务线程进行协议检查、用户过滤等校验操作,代理服务器允许将通过校验的任务线程发送至对应的执行实体进行执行,并拦截无法通过校验的任务线程,避免无效任务项或非法任务项到达执行实体,进而减少无效触达。
在本发明的一个实施例中,事件处理方法还包括:通过令牌桶算法确定任务线程对应的预定速率,按照预定速率将任务线程发送至执行实体。
在该实施例中,为了防止网络拥塞,规定每个发送窗口在单位事件内仅允许发送固定数量的任务线程。具体地,可以通过令牌同算法对任务线程的发送速率进行限制,得到限速后的预定速率,按照恒定的预定速率完成任务线程的派发,一方面避免了网络拥塞,另一方面提高了数据收发的可靠性,降低数据损坏的风险。
在本发明的一个实施例中,通过代理服务器对任务线程进行校验的步骤,具体包括:获取用户拦截策略,并为任一任务线程设置第一识别标识;确定不存在与第一识别标识相重复的第二识别标识,且任务线程与事件协议相匹配,且任务项对应的用户信息不满足用户拦截策略,确定任务线程通过校验。
在该实施例中,代理服务器为接收到的每一个任务线程设置一个唯一的第一识别标识,用于查重。当任务池中,不存在与第一识别标识重复的第二识别标识时,可以判定该任务线程唯一,没有出现重复发送线程的情况。同时,代理服务器还需要确定任务线程与对应的事件协议相匹配,若任务线程与事件协议不匹配,则认定该任务线程不属于当前待处理事件,并放弃该任务线程。同时,代理服务器获取用户拦截策略,并判断每一个任务线程对应的建立用户是否满足用户拦截策略,以针对不合规用户及其他管控策略拦截用户,减少无效触达。
当且仅当不存在重复的任务线程,且任务线程与当前事件协议相匹配,同时任务线程对应的用户信息不满足用户拦截策略时,才会认定任务线程通过校验,进而避免了无效任务线程占用处理资源,提高了任务处理的效率。
在本发明的一个实施例中,事件处理方法还包括:根据事件动作确定任务线程对应的执行顺序,控制执行实体按照执行顺序运行任务线程,以执行任务项。
在该实施例中,事件动作指示了待处理事项中,每一个所包含的任务项的执行顺序。执行实体按照事件动作中所编排的动作顺序,逐个执行每个任务项对应的任务线程。其中,执行过程整体不需要遵循ACID(Atomicity、Consistency、Isolation和Durability,即事件的原子性、一致性、独立性和持久性)原则,具体为不需要保证事件的原子性,即允许中途终止待处理事件的执行过程,提高事件执行的灵活性。
在本发明的一个实施例中,事件处理方法还包括:确定任务项配置有回调标识,根据回调表示获取任务项对应的执行结果,并向回调标识对应的回调地址反馈执行结果。
在该实施例中,若一个任务项被配置有回调(Call Back)标识,则在该任务项被执行结束后,通过回调标识确定对应的回调地址,冰箱回调地址和群组中的用户终端反馈该任务项的执行结果。
在本发明的一个实施例中,获取到任一任务项的执行结果为执行失败;或获取到待处理事件对应的全部任务项对应的执行结果均为执行成功,确定待处理事件处理完成,并向群组对应的终端反馈待处理事件对应的处理结果;其中,处理结果包括:任务项的执行数量和任一任务项的执行结果。
在该实施例中,由于事件整体不需要遵循ACID原则,当任一任务项对应的动作处理失败时,事件动作所规定的执行顺序中,处理失败的任务项之后的后续任务项将不会被执行,即被放弃,此时待处理事件结束。
若待处理事件中的全部任务项均被处理处理完成,且执行结果为执行成功,同样将待处理事件确定为处理完成状态。在处理完成后,向当前群组内的全部终端反馈该处理结果。处理结果包括了被执行的任务项的数量,和每一个任务项对应的执行结果。并对待处理事件的具体内容、标示以及处理结果进行持久化存储,以供后续调用。
在本发明的一个实施例中,如图3所示,事件处理方法还包括:
步骤S302,接收对应于群组的申请信息,并获取申请信息对应的审核信息;
步骤S304,确定审核信息为通过审核,将申请信息对应的终端添加至群组中,以通过开放接口接收终端发送的添加指令。
在该实施例中,当一个待执行任务的群组被建立后,后续终端或用户可通过该群组的识别信息发出加入群组的申请信息,并由管理员或上级用户对申请信息进行审核,返回对应的审核信息。当用户或终端通过审核后,则该用户对应的终端被添加至该群组中。同时,系统包括开放接口(OPEN API),群组中的成员可通过开放接口发送添加指令以编辑任务项,实现了多成员的协同工作。
实施例二
在本发明的一个实施例中,以如图4所示的任务处理系统为例,对本发明实施例进行详细说明。
其中,任务处理系统一般都存在两个必不可少组件:调度器和执行单元。调度器实现,引入轻量级脚本,依托于内部分布式Crontab配置平台,内部拥有任务并行粒度配置和开关,灵活应对下游的高峰和低峰期。整个系统开放OPEN API,提供增删改查能力,使用接入方可以通过API直接调用,也可以基于API开发配置化平台。
如图4所示,系统大致共分为9个模块,从上至下依次是:任务调度层、消息中间件、Proxy,事件处理单元、OPEN API、存储层、事件规则编排配置平台、核心基础能力、监控平台。
其中,各模块的主要作用如下:
任务调度层:引入轻量级脚本实现,依托于内部分布式Crontab配置平台。调度层留有任务并行粒度配置和开关,可以灵活应对下游的高峰和低峰期。将满足条件的任务派发给最小处理单元,并由它来组织消息体。
消息中间件:引入了分布式事务的思想,通过消息中间件进行解耦,可以避免过长链路调用。其中生产执行单元负责写入消息,进行任务的流转。
Proxy:解析消息体,做协议检查、用户过滤等动作,拦截无效或不符合规则的消息。
OPEN API:提供任务增删改查能力的API,接入方可以通过API直接调用,也可以基于API自己开发任务配置化平台。
事件处理单元:即执行实体,能够根据过滤后的任务消息,执行对应动作。
存储层:在MySQL数据库中做持久化存储,主要应对事件和任务的后台查询。通过Redis来做分发调度阶段的悲观锁、client_id去重等其他对读写请求响应要求较高的场景。
监控平台:从任务处理单元、事件规则匹配正确性、底层核心能力调用返回、依赖资源(包括:存储服务、消息中间件、任务处理单元机器核心指标)的多维度监控。
核心基础能力:最底层的业务或技术方面的能力。
该任务处理系统的运行流程如图5所示,其中可分为以下几个步骤:
步骤一:用户申请接入,并通过平台提交申请,以组织架构、业务方向拆分Group(群组),群组包括两级。由直属上级-群组-审核负责人依次顺序完成审批后,创建者可接入Group。同方向成员仅第一次申请,后续成员只需要加入组即可。
步骤二:组内成员在同组空间下创建事件类型,自由编排核心基础能力,作为事件动作;合并(merge)所有动作协议作为整个事件协议,并持久化存储在MySQL数据库中。至此,完成一次事件的创建,每个事件创建完成后,都会为创建好的事件派发一个唯一的key,key需要自行保存,作为后续添加任务时使用。
步骤三:接入方自行搭建平台或者通过OPEN API的两种方式中的人一种,添加待处理任务,添加任务的具体内容包括:任务自定义执行时间、QPS,单批次派发数量、CallBack回调以及其他必要参数等。其中,任务信息使用MySQL做持久化存储。
步骤四:生产端按任务单批次的任务数量拼装数据,根据任务所属事件的协议填充所有必须字段,同时生成该批次client_id,用于在消费端去重,避免MQ at-least-once语义造成的重复消费。为防止网络拥塞,每个发送窗口仅允许固定(添加任务时设置,未设置时会有默认值)数量的任务被发送,并使用令牌桶算法做速率控制,以恒定速率完成任务派发。对于被限制的批次,依靠本身自旋,交换下次可执行发送窗口进行发送;最后,将任务写入消息中间件。
步骤五:Proxy层中进行一系列检查、过滤规则,包括:
单批次消息checksum字段和消息体生成校验和比对;事件规则匹配,检查协议必填字段是否齐全;
client_id去重检查;
用户过滤,主要针对不合规用户及其他管控策略拦截用户,减少无效触达。
当任务通过上述全部检查后,流转至执行单元。
步骤六:执行单元根据事件编排的动作,逐个执行。整体没有ACID原则,不保证原子性,如果多个动作,有处理失败,后续动作不会继续,全部放弃。
步骤七:如果任务配置有CallBack回调,则在执行结束后,通知回调地址本批次用户和执行的结果。
步骤八:变更任务状态,在流程群组IM通知任务执行结束、实际执行数量。
下面,以一个接入的实际服务为例进行进一步说明,该服务用于应对日常运营增长工作的主动触达系统。底层已接入了批处理分发调度系统,拥有发送时间、审批流程、自定义文案配置、支持文案动态参数、提供实际触达数量看板等特性。
需要注意的是,图6至图18所示出的软件截图仅作为示例,其中所包含的文字火链接并不具有实际含义。
首先进行任务添加,任务添加的界面如图6所示,具体活动类型为短信PUSH通知。
任务添加完成后,如图7所示,进入发送人群(选择用户组)和文件上传格式界面,并展示如图8所示的预览界面。
接下来,选择活动类型和发送时间,并对短信文案及逆行配置,界面如图9所示。
在Push文案配置中,支持动态参数,界面如图10所示。
在设置完成后,如图11所示,将建立的活动提交审核。在提交审核前,可以进行效果预览,并测试任务效果,如图12所示。
在改过程中,每当任务在添加时、处理前和处理完成后,群组内的成员均会街道通知,如图13、图14和图15所示。
在任务执行过程中,进行QPS(Queries-per-second,每秒查询率)监控,使得触达活动数量按照预期保持在一个恒定值。
其中,触达活动qps界面如图16所示,消息中间件Topic界面如图17所示,机器CPUIdle指标监控界面如图18所示。
实施例三
如图19所示,在本发明的一个实施例中,提供了一种事件处理系统1900,包括:存储器1902,被配置为存储计算机程序;处理器1904,被配置为执行计算机程序时以实现如上述任一实施例中提供的事件处理方法,因此,该事件处理系统1900包括如上述任一实施例中提供的事件处理方法的全部有益效果,在此不再赘述。
实施例四
在本发明的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一实施例中提供的事件处理方法,因此,该计算机可读存储介质包括如上述任一实施例中提供的事件处理方法的全部有益效果,在此不再赘述。
本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所述的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种事件处理方法,其特征在于,包括:
接收创建指令,根据所述创建指令确定群组,并创建与所述群组相对应的待处理事件;
接收所述群组内对应于所述待处理事件的添加指令,根据所述添加指令生成所述待处理事件对应的任务项;
执行所述任务项,直至所述待处理事件处理完成。
2.根据权利要求1所述的事件处理方法,其特征在于,所述创建与所述群组相对应的待处理事件的步骤,具体包括:
根据所述创建指令确定对应的事件动作和事件类型,根据所述事件动作和所述事件类型生成事件协议,并在数据库中存储所述事件协议以得到所述待处理事件。
3.根据权利要求2所述的事件处理方法,其特征在于,在所述执行所述任务项的步骤之前,所述事件处理方法还包括:
获取所述任务项的数量信息,根据所述数量信息确定所述任务项对应的任务数据;
根据所述事件协议在所述任务数据中填充所述任务项对应的字段,并生成所述任务项对应的任务线程;
将所述任务线程派发至对应的执行实体。
4.根据权利要求3所述的事件处理方法,其特征在于,所述将所述任务线程派发至对应的执行实体的步骤,具体包括:
将所述任务线程发送至代理服务器,通过所述代理服务器对所述任务线程进行校验;
确定所述任务数据通过校验,控制所述代理服务器将所述任务线程发送至对应的所述执行实体。
5.根据权利要求4所述的事件处理方法,其特征在于,还包括:
通过令牌桶算法确定所述任务线程对应的预定速率,按照所述预定速率将所述任务线程发送至所述执行实体。
6.根据权利要求4所述的事件处理方法,其特征在于,所述通过所述代理服务器对所述任务线程进行校验的步骤,具体包括:
获取用户拦截策略,并为任一所述任务线程设置第一识别标识;
确定不存在与所述第一识别标识相重复的第二识别标识,且所述任务线程与所述事件协议相匹配,且所述任务项对应的用户信息不满足所述用户拦截策略,确定所述任务线程通过校验。
7.根据权利要求3至6中任一项所述的事件处理方法,其特征在于,还包括:
根据所述事件动作确定所述任务线程对应的执行顺序,控制所述执行实体按照所述执行顺序运行所述任务线程,以执行所述任务项。
8.根据权利要求7所述的所述的事件处理方法,其特征在于,还包括:
确定所述任务项配置有回调标识,根据所述回调表示获取所述任务项对应的执行结果,并向所述回调标识对应的回调地址反馈所述执行结果。
9.根据权利要求7所述的事件处理方法,其特征在于,
获取到任一所述任务项的执行结果为执行失败;或
获取到所述待处理事件对应的全部任务项对应的执行结果均为执行成功,确定所述待处理事件处理完成,并向所述群组对应的终端反馈所述待处理事件对应的处理结果;
其中,所述处理结果包括:所述任务项的执行数量和任一所述任务项的执行结果。
10.根据权利要求1至6中任一项所述的事件处理方法,其特征在于,还包括:
接收对应于所述群组的申请信息,并获取所述申请信息对应的审核信息;
确定所述审核信息为通过审核,将所述申请信息对应的终端添加至所述群组中,以通过开放接口接收所述终端发送的所述添加指令。
11.一种事件处理系统,其特征在于,包括:
存储器,被配置为存储计算机程序;
处理器,被配置为执行所述计算机程序时以实现如权利要求1至10中任一项所述的事件处理方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的事件处理方法。
CN202010169683.9A 2020-03-12 2020-03-12 事件处理方法和系统、计算机可读存储介质 Active CN111401837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010169683.9A CN111401837B (zh) 2020-03-12 2020-03-12 事件处理方法和系统、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010169683.9A CN111401837B (zh) 2020-03-12 2020-03-12 事件处理方法和系统、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111401837A true CN111401837A (zh) 2020-07-10
CN111401837B CN111401837B (zh) 2023-08-18

Family

ID=71436241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010169683.9A Active CN111401837B (zh) 2020-03-12 2020-03-12 事件处理方法和系统、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111401837B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583704A (zh) * 2021-02-02 2021-03-30 上海云鱼智能科技有限公司 针对非用户关注对象的事件群聊创建方法、装置、服务器、客户端、终端及其存储介质
CN113886733A (zh) * 2021-08-30 2022-01-04 浙江中控技术股份有限公司 基于html5的信号图谱展示系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655942A (zh) * 2009-08-31 2010-02-24 金蝶软件(中国)有限公司 业务协同流程配置、业务协同方法及装置
CN102147660A (zh) * 2011-03-22 2011-08-10 百度在线网络技术(北京)有限公司 一种基于多个用户协同编辑的输入的方法与设备
CN102947844A (zh) * 2010-06-22 2013-02-27 微软公司 社交任务列表
CN110290487A (zh) * 2019-07-08 2019-09-27 深圳壹账通智能科技有限公司 短信发送方法、装置、计算机设备和存储介质
WO2020034882A1 (zh) * 2018-08-16 2020-02-20 钉钉控股(开曼)有限公司 群组通信方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655942A (zh) * 2009-08-31 2010-02-24 金蝶软件(中国)有限公司 业务协同流程配置、业务协同方法及装置
CN102947844A (zh) * 2010-06-22 2013-02-27 微软公司 社交任务列表
CN102147660A (zh) * 2011-03-22 2011-08-10 百度在线网络技术(北京)有限公司 一种基于多个用户协同编辑的输入的方法与设备
WO2020034882A1 (zh) * 2018-08-16 2020-02-20 钉钉控股(开曼)有限公司 群组通信方法、装置和设备
CN110290487A (zh) * 2019-07-08 2019-09-27 深圳壹账通智能科技有限公司 短信发送方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583704A (zh) * 2021-02-02 2021-03-30 上海云鱼智能科技有限公司 针对非用户关注对象的事件群聊创建方法、装置、服务器、客户端、终端及其存储介质
CN113886733A (zh) * 2021-08-30 2022-01-04 浙江中控技术股份有限公司 基于html5的信号图谱展示系统和方法

Also Published As

Publication number Publication date
CN111401837B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN105245373B (zh) 一种容器云平台系统的搭建及运行方法
CN102456185B (zh) 一种分布式工作流处理方法及分布式工作流引擎系统
CN108076098A (zh) 一种业务处理方法及系统
CN105119966A (zh) 一种公众号管理方法及装置
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN108509392B (zh) 多机构对账方法、系统、计算机设备和存储介质
CN109785042A (zh) 分布式部署的异常处理方法、服务器、存储介质及装置
CN111210340B (zh) 一种自动任务处理方法、装置、服务器及存储介质
CN111401837B (zh) 事件处理方法和系统、计算机可读存储介质
US6141679A (en) High performance distributed transaction processing methods and apparatus
CN111340340B (zh) 一种事件处理方法及装置
CN110611707A (zh) 一种任务调度的方法及装置
CN113037830A (zh) 基于网关的微服务api编排方法及系统
CN114268628B (zh) 跨区块链服务平台组网方法、系统、设备和存储介质
CN112346980B (zh) 软件性能测试方法、系统和可读存储介质
CN113296959A (zh) 基于aop功能组件的服务处理方法、装置及计算机设备
CN113485814A (zh) 批量任务调度方法及装置
CN116719623A (zh) 作业调度方法、作业结果处理方法及其装置
CN109245941B (zh) 一种服务补偿方法及装置
CN116303276A (zh) 一种springbatch嵌套脚本实现文件导出的方法
CN113220480B (zh) 分布式的数据任务跨云调度系统及方法
CN115220871A (zh) 一种虚拟机克隆方法、装置及存储介质
CN111782363A (zh) 一种支持多业务场景调用的方法和流程系统
CN113535358A (zh) 任务处理方法及装置
CN107102901A (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