CN114691394A - 一种电商数据处理方法、装置和系统 - Google Patents

一种电商数据处理方法、装置和系统 Download PDF

Info

Publication number
CN114691394A
CN114691394A CN202210349366.4A CN202210349366A CN114691394A CN 114691394 A CN114691394 A CN 114691394A CN 202210349366 A CN202210349366 A CN 202210349366A CN 114691394 A CN114691394 A CN 114691394A
Authority
CN
China
Prior art keywords
event
execution
events
processing
preset
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
CN202210349366.4A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202210349366.4A priority Critical patent/CN114691394A/zh
Publication of CN114691394A publication Critical patent/CN114691394A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种电商数据处理方法、装置和系统,涉及数据处理技术领域。该方法的一具体实施方式包括:接收客户端发送的针对电商数据的事务请求,为事务请求生成一个或多个事件;确定每一个事件所属的事件类型;如果事件类型属于事务预设基本需求类型,则通过主程序调用事件对应的第一执行策略,以通过第一执行策略处理事件;如果事件类型属于事务预设附加需求类型,则通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件;确定一个或多个事件对应的处理结果,并将处理结果发送给客户端。本发明实施例根据请求生成一个或多个事件,通过根据事件类型对不同的事件进行分别处理,达到对请求的解耦操作。

Description

一种电商数据处理方法、装置和系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种电商数据处理的方法、装置和系统。
背景技术
电商数据处理过程中,一般需要对一系列的事件进行处理来完成对电商数据的处理。比如,针对商家的入驻电商平台的电商数据来说,需要进行创建账号、创建店铺、初始化店铺设置、常用功能、初始化商品等一系列事件处理或具体操作。在现有的电商系统中通常是通过主程序将一系列事件处理或具体操作设置固定的调用顺序,并在执行过程中逐一调用各个业务功能的实现方法来完成整个开通操作。
但是,当需要在电商数据处理过程添加附加需求类型的业务功能时,则需要预先增加附加需求类型对应的业务方法,并将调用该方法的步骤添加至主程序的调用顺序中,导致了当附加需求类型对应的业务方法无法正常调用时,影响整个电商数据处理的完成,耦合严重。
发明内容
有鉴于此,本发明实施例提供一种电商数据处理的方法和装置,根据针对电商数据的事务请求生成一个或多个事件,通过根据事件类型对不同的事件进行分别处理,达到对不同类型的事件进行解耦。具体地,对于属于事务预设基本需求类型和事务预设附加需求类型的不同事件,调用不同的执行策略,以实现依据不同事件类型的执行方法异步处理事件。
为实现上述目的,根据本发明实施例的第一方面,提供了一种电商数据处理的方法,方法包括:
接收客户端发送的电商数据处理事务请求,为所述事务请求生成一个或多个事件;
确定每一个所述事件所属的事件类型;如果所述事件类型属于事务预设基本需求类型,则通过主程序调用所述事件对应的第一执行策略,以通过所述第一执行策略处理所述事件;如果所述事件类型属于事务预设附加需求类型,则通过主程序将所述事件存储到预设的消息中间件,以触发所述事件对应的第二执行策略处理所述事件;
确定一个或多个所述事件对应的处理结果,并将处理结果发送给所述客户端。
可选地,所述通过主程序调用所述事件类型对应的第一执行策略,包括:在多个所述事件中,针对属于所述事务预设基本需求类型的多个第一事件,执行:确定多个所述第一事件的执行顺序;按照所述执行顺序,顺序调用每一个所述第一事件对应的第一执行策略。
可选地,多个所述事件中,针对属于所述事务预设附加需求类型的多个第二事件,还包括:通过多线程将存储在所述消息中间件中的多个所述第二事件,提供给每一个所述第二事件对应的第二执行策略。
可选地,所述方法进一步包括:通过注解配置中的监听事件类注解为每一种事件设置对应的注解项,并为每一个所述注解项设置对应的操作,所述操作包括调用所述第一执行策略或者将所述事件存储到所述消息中间件;
所述确定每一个所述事件所属的事件类型,包括:确定每一个所述事件对应的注解项。
可选地,所述方法进一步包括:通过注解配置中的顺序类注解配置所述执行顺序。
可选地,在所述通过主程序将所述事件存储到预设的消息中间件之后,还包括:针对所述消息中间件中的事件处理异常的情况,执行:
将异常情况对应的异常信息存入第一异常记录表中;通过定时读取任务,按照预设时间段定时读取异常信息并重复执行,根据执行结果将补偿状态存入所述第一异常记录表;根据所述第一异常记录表中的补偿次数和补偿状态,确认所述第二执行策略是否正常。
可选地,多个所述第一执行策略和多个所述第二执行策略分别封装成独立的功能子系统;所述主程序封装成独立的调度主系统;所述调度主系统和所述功能子系统之间通过标准rpc接口实现远程调用。
可选地,该方法还包括:根据一个或多个功能子系统,在所述调度主系统中配置初始化接口配置表;其中,所述初始化接口配置表中指示了所述一个或多个功能子系统的执行顺序。
可选地,该方法还包括:接收新增功能子系统或新增执行方法;构建所述新增功能子系统或所述新增执行方法与所述消息中间件之间的连接,以使所述新增功能子系统或所述新增执行方法通过所述消息中间件获取对应的事件。
可选地,该方法还包括:实时记录所述一个或多个功能子系统的执行状态;针对所述执行状态为失败的情况,执行:
将执行状态为失败所对应的异常信息存入第二异常记录表中;通过定时读取任务,按照预设时间段定时读取所述第二异常记录表中的异常信息并重复执行,根据执行结果对所述执行状态进行更新。
为实现上述目的,根据本发明实施例的第二方面,提供了一种电商数据处理的装置。
本发明实施例的电商数据处理的装置包括:
接收模块,用于接收客户端发送的请求,为所述请求生成一个或多个事件;
确定模块,用于确定每一个所述事件所属的事件类型;如果所述事件类型属于事务预设基本需求类型,则通过主程序调用所述事件对应的第一执行策略,以通过所述第一执行策略处理所述事件;如果所述事件类型属于事务预设附加需求类型,则通过主程序将所述事件存储到预设的消息中间件,以触发所述事件对应的第二执行策略处理所述事件;
处理模块,用于确定一个或多个所述事件对应的处理结果,并将处理结果发送给所述客户端。
可选地,所述确定模块还用于,多个所述事件中,针对属于所述事务预设基本需求类型的多个第一事件:确定多个所述第一事件的执行顺序;按照所述执行顺序,顺序调用每一个所述第一事件对应的第一执行策略。
可选地,所述确定模块还用于,多个所述事件中,针对属于所述事务预设附加需求类型的多个第二事件:通过多线程将存储在所述消息中间件中的多个所述第二事件,提供给每一个所述第二事件对应的第二执行策略。
可选地,所述装置还包括注解模块,用于通过注解配置中的监听事件类为每一种事件设置对应的注解项,并为每一个所述注解项设置对应的操作,所述操作包括调用所述第一执行策略或者将所述事件存储到所述消息中间件;
所述确定模块还用于,确定每一个所述事件对应的注解项。
可选地,所述注解模块还用于,通过注解配置中的顺序类注解配置所述执行顺序。
可选地,所述装置还包括异常处理模块,用于在所述通过主程序将所述事件存储到预设的消息中间件之后,针对所述消息中间件中的事件处理异常的情况,执行:
将异常情况对应的异常信息存入第一异常记录表中;通过定时读取任务,按照预设时间段定时读取异常信息并重复执行,根据执行结果将补偿状态存入所述第一异常记录表;根据所述第一异常记录表中的补偿次数和补偿状态,确认所述第二执行策略是否正常。
可选地,多个所述第一执行策略和多个所述第二执行策略分别封装成独立的功能子系统;所述主程序封装成独立的调度主系统;所述调度主系统和所述功能子系统之间通过标准rpc接口实现远程调用。
可选地,所述装置还包括:配置模块,用于根据一个或多个功能子系统,在所述调度主系统中配置初始化接口配置表;其中,所述初始化接口配置表中指示了所述一个或多个功能子系统的执行顺序。
可选地,所述装置还包括:增加模块,用于接收新增功能子系统或新增执行方法;构建所述新增功能子系统或所述新增执行方法与所述消息中间件之间的连接,以使所述新增功能子系统或所述新增执行方法通过所述消息中间件获取对应的事件。
可选地,所述确定模块还用于,实时记录所述一个或多个功能子系统的执行状态;针对所述执行状态为失败的情况,执行:将执行状态为失败所对应的异常信息存入第二异常记录表中;通过定时读取任务,按照预设时间段定时读取所述第二异常记录表中的异常信息并重复执行,根据执行结果对所述执行状态进行更新。
为实现上述目的,根据本发明实施例的第三方面,提供了一种电商数据处理的系统。
本发明实施例的电商数据处理的系统包括:客户端和上述电商数据处理的装置,其中,客户端向所述电商数据处理的装置发送请求;电商数据处理的装置响应于所述请求,并对请求对应的事件进行处理,并将所述处理结果发送给所述客户端。
为实现上述目的,根据本发明实施例的第四方面,还提供一种电商数据处理的系统。
本发明实施例的电商数据处理的系统包括:客户端、调度主系统和多个第一功能子系统和多个第二功能子系统,其中,
所述客户端向所述调度主系统发送请求;
所述调度主系统响应于所述请求生成一个或多个事件,确定一个或多个所述事件的事件类型,针对事件类型属于事务预设基本需求类型的事件,调用与属于所述事务预设基本需求类型的事件相匹配的第一功能子系统;针对事件类型属于事务预设附加需求类型的事件,将所述属于事务预设附加需求类型的事件存储至消息中间件;
所述第一功能子系统封装有事件的第一执行策略,用于在接收到所述调度服务器调用后,通过封装的所述第一执行策略处理所述事件;
所述第二功能子系统封装有事件的第二执行策略,用于从所述消息中间件中获取事件,并通过所述第二执行策略处理获取到的事件;
所述调度主系统根据所述第一功能子系统和/或所述第二功能子系统发送的处理结果确定多个事件对应的处理结果,并将所述处理结果发送给所述客户端。
为实现上述目的,根据本发明实施例的第五方面,提供了一种线电商数据处理的设备。
本发明实施例的电商数据处理开设的设备包括:一个或多个处理器;存储系统,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的电商数据处理的方法。
为实现上述目的,根据本发明实施例的第六方面,提供了一种计算机可读介质。
本发明实施例的计算机可读介质上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的电商数据处理的方法。
上述发明中的一个实施例具有如下优点或有益效果:在本发明实施例中,根据开店请求生成一个或多个事件,通过确定出每一个事件所属的事件类型,后续针对不同事件类型的事件进行不同的处理,即如果事件类型属于事务预设基本需求类型,则通过主程序调用所述事件对应的第一执行策略,以使第一执行策略处理事件;如果事件类型属于事务预设附加需求类型,则通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件,实现对不同事件类型的执行方法解耦,从而对不同类型的事件进行解耦处理,另外,由于不同事件类型的事件处理过程不同,实现不同事件类型的执行方法异步处理事件。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例的一种电商数据处理方法的主要流程的示意图;
图2是本发明实施例的针对属于事务预设基本需求类型的多个第一事件的主要流程的示意图;
图3本发明实施例的通过主程序将所述事件存储到预设的消息中间件之后的主要流程的示意图;
图4本发明实施例的更新功能子系统执行状态的主要流程的示意图;
图5是本发明实施例的一种新增电商数据处理方法的主要流程的示意图;
图6是本发明实施例的一种电商数据处理系统的主要模块的示意图;
图7是本发明实施例的一种电商数据处理的系统的整体调度示意图;
图8是本发明实施例的一种具体电商数据处理的系统的整体调度示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在电商领域,通常需要对于电商数据进行一系列的处理,以得到特定的处理结果,例如开通网络账号、开通信用卡、注册会员以及线上开设店铺等,下面以线上店铺开设场景对本发明的电商数据处理方法和装置进行具体说明。
在通常的线上店铺开设情景中,往往需要逐个完成一连串的开店步骤才可以最终完成开店,例如配置店铺显示页面、配置需要展示的商品、配置店铺常用功能等,按照这些功能配置的先后顺序,需要顺序从其他分系统中调取配置信息或者顺序通过其他分系统对功能进行配置,只有在一个功能配置完成后,才能进行下一功能的配置,即各个功能配置之间强耦合,一旦中间某一环节出现错误,则导致整个开店动作无法顺利完成。为了解决这一问题,本发明实施例提供一种电商数据处理开设的方法、装置和系统,可对不同事件类型的执行方法进行解耦,可以异步对不同事件类型的开店事件进行处理。
图1示出了本发明实施例提供的电商数据处理的方法的主要流程示意图。如图1所示,该方法可包括如下步骤:
步骤S101:接收客户端发送的针对电商数据的事务请求,为事务请求生成一个或多个事件;
步骤S102:确定每一个事件所属的事件类型,如果事件类型属于事务预设基本需求类型,则执行步骤S103,如果事件类型属于事务预设附加需求类型,则执行步骤S104;
步骤S103:通过主程序调用事件类型对应的第一执行策略,以通过第一执行策略处理事件,并执行步骤S105;
步骤S104:通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件;
步骤S105:确定一个或多个事件对应的处理结果,并将处理结果发送给客户端。
在图1所示的实施例中,事务请求为开店请求,生成的事件为开店事件,通过确定出每一个开店事件所属的事件类型,后续针对不同事件类型的开店事件进行不同的处理,即如果事件类型属于事务预设基本需求类型,则通过主程序调用所述开店事件对应的第一执行策略,以使第一执行策略处理开店事件;如果事件类型属于事务预设附加需求类型,则通过主程序将开店事件存储到预设的消息中间件,以触发开店事件对应的第二执行策略处理开店事件,实现对不同事件类型的执行方法解耦,从而对不同类型的开店事件进行解耦处理,另外,由于不同事件类型的开店事件处理过程不同,实现不同事件类型的执行方法异步处理开店事件。
其中,事件类型包括但不限于事务预设基本需求类型和事务预设附加需求类型,可以根据实际需要的不同分类进行事件划分。在本申请实施例中,事务预设基本需求类型为保证开店可以顺利完成所必须按顺序执行的步骤,例如创建店铺ID和配置商品,如果没有店铺ID,则无法进行后续所有的开店操作,如果店铺中没有配置商品,则会导致无效的店铺的生成,造成资源浪费。因此创建店铺ID和配置商品均为事务预设基本需求类型,且创建店铺ID必须在配置商品之前执行。事务预设附加需求类型则为在开店过程中可以同步完成也可以后续补充完成的步骤,例如配置店铺常用功能,缺少部分常用功能并不影响店铺的正常运营,可以在后续店铺的运营过程中再根据实际需要进行添加,因此配置店铺常用功能属于事务预设附加需求类型。
进一步地,上述步骤S104所涉及的消息中间件是用于存储属于事务预设附加需求类型的开店事件的容器,在一种可选的实施例中,属于事务预设附加需求类型的开店事件以消息队列的形式存储在消息中间件中,消息队列是Microsoft的消息处理技术,它在任何安装Microsoft Windows的计算机组合中,为任何应用程序提供消息处理和消息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。通过消息队列的设置,可以达到对属于事务预设附加需求类型的开店事件进行解耦和异步的目的,各个开店事件的执行互不干扰,即使有些开店事件出现异常情况没有按时执行,也不影响其他开店事件的完成。
其中,上述第一执行策略一般是指由主程序调用的、用于处理事务预设基本需求类型类型的开店事件的程序,该程序可由主程序所在的服务器执行,也可由其他服务器(主程序所在服务器之外的服务器)执行。上述第二执行策略一般是指接收消息中间件中存储的开店事件触发,并对消息中间件存储的开店事件进行处理的程序,该程序和主程序一般分属于不同的服务器。
对于步骤S102,在一种可选的实施例中,可以通过增加注解配置的方式来确定每一个开店事件所属的事件类型。其中,可以通过spring注解中的@EventListener类为每一种开店事件设置对应的注解项,并为每一个注解项设置对应的操作,操作包括调用第一执行策略或者将开店事件存储到消息中间件。那么在确定每一个开店事件所属的事件类型时,即需要确定每一个开店事件对应的注解项,进而可以得到当前注解项对应的操作。
对于步骤S103,当存在多个开店事件时,针对属于事务预设基本需求类型的多个第一事件,在一种可选的实施例中,如图2所示,包括:
步骤S201:确定多个第一事件的执行顺序;
步骤S202:按照执行顺序,顺序调用每一个第一事件对应的第一执行策略。
由于属于事务预设基本需求类型的开店事件均是必须按顺序执行的步骤,因此需要预先确定多个第一开店事件的执行顺序。例如创建店铺ID必须在配置商品之前执行,且需要在完成创建店铺ID对应的第一执行策略后,执行配置商品对应的第一执行策略。在一种可选的实施例中,可以通过spring注解中的@Order类注解配置执行顺序。
对于步骤S104,当存在多个事件时,针对属于事务预设附加需求类型的多个第二事件,在一种可选的实施例中,还包括:通过多线程将存储在消息中间件中的多个第二事件,提供给每一个第二事件对应的第二执行策略。
示例性的,在消息中间件中存在三个第二开店事件,可以通过三个不同的线程对三个第二开店事件进行同步处理,且相互之间的处理过程互不干扰。
本申请采用多线程技术的应用程序可以更好地利用系统资源。主要优势在于充分利用了CPU的空闲时间片,用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。在进一步可选的实施例中,可以为多个第二开店事件增加异步注解,将需要分线程异步执行的第二开店事件通过异步注解的注解项进行标注,以实现异步操作。
在异步操作中,可能会出现自身异常的情况,但是由于并不影响整体的开店流程,因此需要通过对消息中间件中的开店事件进行监控,以实时处理自身异常的情况。
在一种可选的实施例中,如图3所示,在通过主程序将事件存储到预设的消息中间件之后,还包括:针对消息中间件中的事件处理异常的情况,执行:
步骤S301:将异常情况对应的异常信息存入第一异常记录表中;
步骤S302:通过定时读取任务,按照预设时间段定时读取异常信息并重复执行,根据执行结果将补偿状态存入第一异常记录表;
步骤S303:根据第一异常记录表中的补偿次数和补偿状态,确认第二执行策略是否正常。
其中,第一异常记录表中可以记录与开店事件的异常情况所对应的多个异常信息,如表1所示,可以包括主键ID、业务参数、业务方法、异常内容、补偿状态、补偿次数等。当每遇到一次异常情况时,都需要将该异常情况对应的异常信息存入第一异常记录表中。
表1第一异常记录表
Figure BDA0003578804850000131
在步骤S302中,通过定时读取任务,从第一异常记录表中依次读取补偿状态为补偿失败的异常信息,并重复执行该异常信息对应的业务方法。对于补偿状态为补偿成功的异常信息,则认为可能是由于网络原因等客观原因所导致的突发性异常,在网络恢复正常状态后,即可补偿成功。但若是由于第二执行策略所导致的异常情况,是无法通过一次或多次重复执行后补偿成功的。因此在一种可选的实施例中,可以通过设置补偿次数的阈值来判断是否为第二执行策略所导致的异常情况。例如,将补偿次数的阈值设置为5次,即重复执行的次数在5次以内时,认为是突发性异常,通过多次补偿最终补偿成功。当重复执行的次数为10次时,认为当前异常情况是无法通过多次重复执行进行补偿的,此时确认为当前异常信息对应的第二执行策略异常,可以向处理中心发送警报信息,以提示系统错误,需要人工进行排查来进行补偿修复。
在一种可选的实施例中,可以将多个第一执行策略和多个第二执行策略分别封装成独立的功能子系统;将主程序封装成独立的调度主系统。其中,调度主系统和功能子系统之间通过具有标准化参数的接口实现远程调用,例如标准rpc接口或http接口。
对于一个或多个功能子系统的情况下,如果想实现主系统对功能子系统的调用,在一种可选的实施例中,需要根据一个或多个功能子系统,在调度主系统中配置初始化接口配置表;其中,初始化接口配置表中指示了一个或多个功能子系统的执行顺序,初始化配置表中的具体内容如表2所示。
表2初始化接口配置表
Figure BDA0003578804850000141
在一种可选的实施例中,当需要新增属于事务预设基本需求类型的功能子系统或新增执行方法时,则需要将新增的功能子系统或新增执行方法配置在初始化接口配置表中的相关位置,并为其设置好执行顺序以及系统功能。其中,需要将新增的执行方法先进行封装,以功能子系统的形式配置在初始化接口配置表中。
进一步地,对于各个功能子系统的执行情况,也可以实时记录一个或多个功能子系统的执行状态,针对执行状态为失败的情况,执行:
步骤S401:将执行状态为失败所对应的异常信息存入第二异常记录表中;
步骤S402:通过定时读取任务,按照预设时间段定时读取所述第二异常记录表中的异常信息并重复执行,根据执行结果对所述执行状态进行更新。
其中,第二异常记录表中可以记录开店流水号、执行步骤、执行状态等,具体如表3所示。根据第二异常记录表,可以得知各个功能子系统的执行情况,以便对于执行状态为失败的功能子系统,及时进行补偿。
表3第二异常记录表
Figure BDA0003578804850000151
在另一种可选的实施例中,在需要新增属于事务预设附加需求类型的功能子系统或新增执行方法时,还包括以下步骤:
步骤S501:接收新增功能子系统或新增执行方法;
步骤S502:构建新增功能子系统或新增执行方法与消息中间件之间的连接,以使新增功能子系统或新增执行方法通过消息中间件获取对应的事件。
通过上述步骤,当需要在店铺系统开店流程中新增一步业务处理时,可以新增功能子系统为新手引导系统,仅需在新手引导的业务接口中新增监听新手引导开店事件的方法进行自身的业务处理即可,无需改动主流程。同时当新增门店开通不同业务的店铺开通流程时,对于相同的店铺设置、常用功能等的初始化生成一个开店事件即可,无需在自身流程中进行调用上述相关的初始化方法,解耦完成。
本发明实施例的电商数据处理的方法,根据针对电商数据的事务请求生成一个或多个事件,通过根据事件类型对不同的事件进行分别处理,达到对不同类型的事件进行解耦。具体地,对于属于事务预设基本需求类型和事务预设附加需求类型的不同事件,调用不同的执行策略,以实现依据不同事件类型的执行方法异步处理事件。
根据本发明实施例第二方面,提供一种应用于服务器的电商数据处理的装置。
图6是根据本发明实施例第二方面的电商数据处理的装置600的主要模块的示意图。如图6所示,包括:
接收模块601,用于接收客户端发送的针对电商数据的事务请求,为事务请求生成一个或多个事件;
确定模块602,用于确定每一个事件所属的事件类型;如果事件类型属于事务预设基本需求类型,则通过主程序调用事件对应的第一执行策略,以通过第一执行策略处理事件;如果事件类型属于事务预设附加需求类型,则通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件;
处理模块603,用于确定一个或多个事件对应的处理结果,并将处理结果发送给客户端。
在本发明一个可选的实施例中,所述确定模块602还用于,多个所述事件中,针对属于所述事务预设基本需求类型的多个第一事件:确定多个所述第一事件的执行顺序;按照所述执行顺序,顺序调用每一个所述第一事件对应的第一执行策略。
在本发明一个可选的实施例中,所述确定模块602还用于,多个所述事件中,针对属于所述事务预设附加需求类型的多个第二事件:通过多线程将存储在所述消息中间件中的多个所述第二事件,提供给每一个所述第二事件对应的第二执行策略。
在本发明一个可选的实施例中,所述装置还包括注解模块,用于通过注解配置中的监听事件类为每一种事件设置对应的注解项,并为每一个所述注解项设置对应的操作,所述操作包括调用所述第一执行策略或者将所述事件存储到所述消息中间件;
所述确定模块还用于,确定每一个所述事件对应的注解项。
在本发明一个可选的实施例中,所述注解模块还用于,通过注解配置中的顺序类注解配置所述执行顺序。
在本发明一个可选的实施例中,所述装置还包括异常处理模块,用于在所述通过主程序将所述事件存储到预设的消息中间件之后,针对所述消息中间件中的事件处理异常的情况,执行:
将异常情况对应的异常信息存入第一异常记录表中;通过定时读取任务,按照预设时间段定时读取异常信息并重复执行,根据执行结果将补偿状态存入所述第一异常记录表;根据所述第一异常记录表中的补偿次数和补偿状态,确认所述第二执行策略是否正常。
在本发明一个可选的实施例中,多个所述第一执行策略和多个所述第二执行策略分别封装成独立的功能子系统;所述主程序封装成独立的调度主系统;所述调度主系统和所述功能子系统之间通过标准rpc接口实现远程调用。
在本发明一个可选的实施例中,所述装置还包括:配置模块,用于根据一个或多个功能子系统,在所述调度主系统中配置初始化接口配置表;其中,所述初始化接口配置表中指示了所述一个或多个功能子系统的执行顺序。
在本发明一个可选的实施例中,所述装置还包括:增加模块,用于接收新增功能子系统或新增执行方法;构建所述新增功能子系统或所述新增执行方法与所述消息中间件之间的连接,以使所述新增功能子系统或所述新增执行方法通过所述消息中间件获取对应的事件。
在本发明一个可选的实施例中,所述确定模块还用于,实时记录所述一个或多个功能子系统的执行状态;针对所述执行状态为失败的情况,执行:将执行状态为失败所对应的异常信息存入第二异常记录表中;通过定时读取任务,按照预设时间段定时读取所述第二异常记录表中的异常信息并重复执行,根据执行结果对所述执行状态进行更新。
另外,本发明实施例还提供一种电商数据处理的系统(图中未示出),该电商数据处理的系统(图中未示出)可包括:客户端和上述实施例提供的电商数据处理的装置,其中,
客户端向所述电商数据处理的装置发送请求;
电商数据处理的装置响应于所述请求,并对请求对应的事件进行处理,并将所述处理结果发送给所述客户端。
如图7所示,本发明实施例提供另一种电商数据处理的系统700,该电商数据处理的系统700包括:客户端、调度主系统和多个第一功能子系统和多个第二功能子系统,其中,
所述客户端向所述调度主系统发送事务请求;
所述调度主系统响应于所述事务请求生成一个或多个事件,确定一个或多个所述事件的事件类型,针对事件类型属于事务预设基本需求类型的事件,调用与属于所述事务预设基本需求类型的事件相匹配的第一功能服务器;针对事件类型属于事务预设附加需求类型的事件,将所述属于事务预设附加需求类型的事件存储至消息中间件;
所述第一功能子系统封装有事件的第一执行策略,用于在接收到所述调度服务器调用后,通过封装的所述第一执行策略处理所述事件,;
所述第二功能子系统封装有事件的第二执行策略,用于从所述消息中间件中获取事件,并通过所述第二执行策略处理获取到的事件;
所述调度主系统根据所述第一功能子系统和/或所述第二功能子系统发送的处理结果确定多个事件对应的处理结果,并将所述处理结果发送给所述客户端。
下面以一个具体实例说明上述系统的调度示意图。如图8所示,主系统与属于事务预设基本需求类型的开店事件直接调用对用的功能子系统:账号系统、商品系统、店铺系统,并通过对应的第一执行策略按照预设顺序执行。将属于事务预设附加需求类型的开店事件存入消息中间件中,通过常用功能、新手导引等功能子系统拉取消息中间件的开店事件来执行对应的第二执行策略。
图9示出了可以应用本发明实施例的电商数据处理方法的方法或电商数据处理的装置的示例性系统架构800。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904、调度服务器905、第一功能服务器906以及第二功能服务器907。网络904用以在终端设备901、902、903和调度服务器905之间、调度服务器905和第一功能服务器906之间以及调度服务器905和第二功能服务器907之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与调度服务器905交互,以发送开店请求或者接收调度服务器905处理开店的结果等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如在线服务应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所发送的针对电商数据的事务请求提供支持的后台管理服务器、或者对任务进行调度的服务器。后台管理服务器可以对接收到的任务执行请求等数据进行分析等处理,并将处理结果(例如事务的页面)反馈给终端设备。
需要说明的是,本发明实施例第一方面所提供的电商数据处理的方法一般由调度服务器905为第一功能服务器906和第二功能服务器907分配事件,由第一功能服务器906和第二功能服务器907处理事件,相应地,本发明实施例第二方面所提供的电商数据处理的装置一般设置于调度服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、调度服务器、第一功能服务器和第二功能服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 701、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1005;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、确定模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“用于接收客户端发送的针对电商数据的事务请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收客户端发送的针对电商数据的事务请求,为所述事务请求生成一个或多个事件;
确定每一个事件所属的事件类型;如果事件类型属于事务预设基本需求类型,则通过主程序调用事件类型对应的第一执行策略,以通过第一执行策略处理事件;如果事件类型属于事务预设附加需求类型,则通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件;
确定一个或多个事件对应的处理结果,并将处理结果发送给客户端。
本发明实施例的电商数据处理的方法和装置,在本发明实施例中,根据事务请求生成一个或多个事件,通过确定出每一个事件所属的事件类型,后续针对不同事件类型的事件进行不同的处理,即如果事件类型属于事务预设基本需求类型,则通过主程序调用所述事件对应的第一执行策略,以使第一执行策略处理事件;如果事件类型属于事务预设附加需求类型,则通过主程序将事件存储到预设的消息中间件,以触发事件对应的第二执行策略处理事件,实现对不同事件类型的执行方法解耦,从而对不同类型的事件进行解耦处理,另外,由于不同事件类型的事件处理过程不同,实现不同事件类型的执行方法异步处理事件。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (15)

1.一种电商数据处理方法,其特征在于,包括:
接收客户端发送的针对电商数据的事务请求,为所述事务请求生成一个或多个事件;
确定每一个所述事件所属的事件类型;
如果所述事件类型属于事务预设基本需求类型,则通过主程序调用所述事件对应的第一执行策略,以通过所述第一执行策略处理所述事件;
如果所述事件类型属于事务预设附加需求类型,则通过主程序将所述事件存储到预设的消息中间件,以触发所述事件对应的第二执行策略处理所述事件;
确定一个或多个所述事件对应的处理结果,并将处理结果发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述通过主程序调用所述事件对应的第一执行策略,包括:
在多个所述事件中,针对属于所述事务预设基本需求类型的多个第一事件,执行:
确定多个所述第一事件的执行顺序;
按照所述执行顺序,顺序调用每一个所述第一事件对应的第一执行策略。
3.根据权利要求1所述的方法,其特征在于,
在多个所述事件中,针对属于所述事务预设附加需求类型的多个第二事件,执行:
通过多线程将存储在所述消息中间件中的多个所述第二事件,提供给每一个所述第二事件对应的第二执行策略。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
通过注解配置中的监听事件类注解为每一种事件设置对应的注解项,并为每一个所述注解项设置对应的操作,所述操作包括调用所述第一执行策略或者将所述事件存储到所述消息中间件;
所述确定每一个所述事件所属的事件类型,包括:
确定每一个所述事件对应的注解项。
5.根据权利要求4所述的方法,其特征在于,进一步包括:通过注解配置中的顺序类注解配置所述执行顺序。
6.根据权利要求1所述的方法,其特征在于,在所述通过主程序将所述事件存储到预设的消息中间件之后,还包括:
针对所述消息中间件中的事件处理异常的情况,执行:
将异常情况对应的异常信息存入第一异常记录表中;
通过定时读取任务,按照预设时间段定时读取异常信息并重复执行,根据执行结果将补偿状态存入所述第一异常记录表;
根据所述第一异常记录表中的补偿次数和补偿状态,确认所述第二执行策略是否正常。
7.根据权利要求1所述的方法,其特征在于,
多个所述第一执行策略和多个所述第二执行策略分别封装成独立的功能子系统;
所述主程序封装成独立的调度主系统;
所述调度主系统和所述功能子系统之间通过标准rpc接口实现远程调用。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据一个或多个功能子系统,在所述调度主系统中配置初始化接口配置表;
其中,所述初始化接口配置表中指示了所述一个或多个功能子系统的执行顺序。
9.根据权利要求7所述的方法,其特征在于,还包括:
接收新增功能子系统或新增执行方法;
构建所述新增功能子系统或所述新增执行方法与所述消息中间件之间的连接,以使所述新增功能子系统或所述新增执行方法通过所述消息中间件获取对应的事件。
10.根据权利要求8所述的方法,其特征在于,还包括:
实时记录所述一个或多个功能子系统的执行状态;
针对所述执行状态为失败的情况,执行:
将执行状态为失败所对应的异常信息存入第二异常记录表中;
通过定时读取任务,按照预设时间段定时读取所述第二异常记录表中的异常信息并重复执行,根据执行结果对所述执行状态进行更新。
11.一种电商数据处理的装置,其特征在于,包括:
接收模块,用于接收客户端发送的针对电商数据的事务请求,为所述请求生成一个或多个事件;
确定模块,用于确定每一个所述事件所属的事件类型;
如果所述事件类型属于事务预设基本需求类型,则通过主程序调用所述事件类型对应的第一执行策略,以通过所述第一执行策略处理所述事件;
如果所述事件类型属于事务预设附加需求类型,则通过主程序将所述事件存储到预设的消息中间件,以触发所述事件对应的第二执行策略处理所述事件;
处理模块,用于确定一个或多个所述事件对应的处理结果,并将处理结果发送给所述客户端。
12.一种电商数据处理的系统,其特征在于,包括:客户端和权利要求11所述的电商数据处理的装置,其中,
客户端向所述电商数据处理的装置发送事务请求;
电商数据处理的装置响应于所述事务请求,并对事务请求对应的事件进行处理,并将所述处理结果发送给所述客户端。
13.一种电商数据处理的系统,其特征在于,包括:客户端、调度主系统和多个第一功能子系统和多个第二功能子系统,其中,
所述客户端向所述调度主系统发送事务请求;
所述调度主系统响应于所述事务请求生成一个或多个事件,确定一个或多个所述事件的事件类型,针对事件类型属于事务预设基本需求类型的事件,调用与属于所述事务预设基本需求类型的事件相匹配的第一功能子系统;针对事件类型属于事务预设附加需求类型的事件,将所述属于事务预设附加需求类型的事件存储至消息中间件;
所述第一功能子系统封装有事件的第一执行策略,用于在接收到所述调度服务器调用后,通过封装的所述第一执行策略处理所述事件;
所述第二功能子系统封装有事件的第二执行策略,用于从所述消息中间件中获取事件,并通过所述第二执行策略处理获取到的事件;
所述调度主系统根据所述第一功能子系统和/或所述第二功能子系统发送的处理结果确定多个事件对应的处理结果,并将所述处理结果发送给所述客户端。
14.一种电商数据处理的设备,其特征在于,包括:一个或多个处理器;
存储系统,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
CN202210349366.4A 2022-04-01 2022-04-01 一种电商数据处理方法、装置和系统 Pending CN114691394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210349366.4A CN114691394A (zh) 2022-04-01 2022-04-01 一种电商数据处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210349366.4A CN114691394A (zh) 2022-04-01 2022-04-01 一种电商数据处理方法、装置和系统

Publications (1)

Publication Number Publication Date
CN114691394A true CN114691394A (zh) 2022-07-01

Family

ID=82141815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210349366.4A Pending CN114691394A (zh) 2022-04-01 2022-04-01 一种电商数据处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN114691394A (zh)

Similar Documents

Publication Publication Date Title
CN107729139B (zh) 一种并发获取资源的方法和装置
CN110245011A (zh) 一种任务调度方法和装置
CN112288577B (zh) 分布式服务的交易处理方法、装置、电子设备和介质
CN104579905A (zh) 消息传递方法和系统及mom服务器、接收端
CN110427304A (zh) 用于银行系统的运维方法、装置、电子设备以及介质
CN112445860B (zh) 一种处理分布式事务的方法和装置
CN109816347A (zh) 一种应用于助贷的信息处理方法、系统及相关装置
CN115525411A (zh) 处理业务请求的方法、装置、电子设备和计算机可读介质
CN111767127A (zh) 一种业务数据处理方法和装置
CN113760522A (zh) 一种任务处理方法和装置
CN110807058B (zh) 一种导出数据的方法和系统
CN113157405A (zh) 业务流程断点重试的方法和装置
CN111008202A (zh) 分布式事务处理方法和框架
CN113157461B (zh) 一种在执行任务单过程中传送消息的方法和装置
CN114691394A (zh) 一种电商数据处理方法、装置和系统
CN109688174A (zh) 一种基于多代理商服务的虚拟业务实现方法和装置
CN112925623A (zh) 任务处理方法、装置、电子设备和介质
CN110909269B (zh) 一种日志上报的方法和装置
CN110888770B (zh) 用于发送信息的方法和装置
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN113760693A (zh) 用于微服务系统的本地调试的方法和装置
CN113766437B (zh) 一种短信发送方法和装置
CN110262756B (zh) 用于缓存数据的方法和装置
CN110011767B (zh) 用于tcp连接备份的方法和装置
CN113535421A (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