CN107832124A - 一种在文件处理系统中处理任务的方法和装置 - Google Patents

一种在文件处理系统中处理任务的方法和装置 Download PDF

Info

Publication number
CN107832124A
CN107832124A CN201710872602.XA CN201710872602A CN107832124A CN 107832124 A CN107832124 A CN 107832124A CN 201710872602 A CN201710872602 A CN 201710872602A CN 107832124 A CN107832124 A CN 107832124A
Authority
CN
China
Prior art keywords
task
message
handling system
document handling
environment
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
CN201710872602.XA
Other languages
English (en)
Other versions
CN107832124B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710872602.XA priority Critical patent/CN107832124B/zh
Publication of CN107832124A publication Critical patent/CN107832124A/zh
Application granted granted Critical
Publication of CN107832124B publication Critical patent/CN107832124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

说明书在实施例中公开一种在文件处理系统中处理任务的方法,包括:接收消息中心发送的、要求处理任务的消息;根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。通过实施例中的方案,可以在多套运行环境中进行任务处理。

Description

一种在文件处理系统中处理任务的方法和装置
技术领域
本发明涉及分布式文件处理和灰度发布,更具体而言,涉及适用于灰度发布的分布式文件处理的方法和装置。
背景技术
在信息处理特别是文件处理中,广泛采用分布式文件处理系统来执行大量文件的处理工作。一般地,分布式文件处理系统包括由多个执行处理任务的机器构成的一个机器集群。消息中心定时地将待执行的文件任务通过消息的形式发送给分布式文件处理系统。分布式文件处理系统在接收到消息之后,根据消息来创建任务或执行任务。在执行任务过程中,特别是在生成或解析一个文件时,为了加快处理速度,分布式文件处理系统会将处理文件的任务拆分成多个子任务,分发到集群中的多个机器中并行执行,以此提高处理效率。
另一方面,在系统进行升级改造完成之后,为了尽可能小的影响原有业务,发布时将一部分业务放在新系统中执行,其余业务仍然放在原来的系统中执行,待验证新系统质量符合要求后才将全部业务切换到新系统中。这个过程称为灰度发布或灰度验证。
在系统发布到线上生产环境之前,新系统执行的环境又称为预发布环境。预发布环境和线上生产环境都可用于处理线上数据,其中预发布环境一般处理能力有限,通常只是作为内测用,而不对外部用户开放。为了保证线上环境的安全,预发布环境和线上生产环境之间相互隔离,一个环境的数据不会流转到另一个环境。
对于分布式文件处理的情况,如果预发布环境和线上生产环境同时开启,会有两套文件处理系统和消息中心分别在各自环境下同时执行,每套中的消息中心都会不断发送任务消息。如此,同一任务有可能在两套环境中执行,文件有可能相互覆盖,带来文件处理安全性和准确性上的风险。
因此,需要更有效的方案,使得在灰度验证过程中,分布式文件处理系统可以在两套环境中安全有效地处理文件。
发明内容
本说明书中提供的实施例用于在文件处理系统中处理任务,该处理任务的方案适用于同时存在多套运行环境的情况,从而解决现有技术中的问题。
为实现上述目的,在一个方面,说明书的实施例提供了一种在文件处理系统中处理任务的方法,包括:接收消息中心发送的、要求处理任务的消息;根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。
在一个实施例中,所述共享控制信息包括环境配置信息,用于记录至少一项任务的允许处理环境,所述根据所述消息查询共享控制信息包括:根据所述消息获取对应的任务信息;根据所述任务信息读取所述环境配置信息中所记录的所述任务信息对应的允许处理环境。
在一个实施例中,所述环境配置信息存储在任务数据库中。
在一个实施例中,所述环境配置信息存储在配置数据库中,所述配置数据库由所述文件处理系统与所述至少一个其他处理环境中的文件处理系统所共享。
在一个实施例中,所述环境配置信息预先存储在所述文件处理系统中,及所述至少一个其他处理环境中的文件处理系统中。
在一个实施例中,所述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
在一个实施例中,所述消息为要求创建任务的创建消息,所述处理所述消息对应的任务包括:判断所述消息对应的任务是否已经包含在所述任务数据库中;在没有包含的情况下,在所述任务数据库中创建所述任务。
在一个实施例中,所述消息为要求创建任务的创建消息,所述共享控制信息包括所述任务数据库中的锁资源,所述锁资源用于记录所述创建消息是否已经被所述至少一个其他处理环境中的文件处理系统处理。
在一个实施例中,所述根据所述消息查询共享控制信息包括,访问所述任务数据库,请求与所述消息对应的锁资源;所述根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务包括,在获得所述锁资源的情况下,判断所述文件处理系统有权处理所述消息对应的任务。
在一个实施例中,所述消息为要求执行任务的执行消息,所述处理所述消息对应的任务包括:根据所述执行消息获取所述任务的元数据;根据所述元数据访问文件库中的文件,并对所述文件进行处理。
在一个实施例中,所述执行消息为要求执行子任务的执行消息,所述根据所述消息查询共享控制信息包括:根据所述执行消息获取所述子任务的信息,根据所述子任务的信息获取所述子任务所归属的主任务的任务信息,根据所述主任务的任务信息查询所述共享控制信息。
在第二方面,提供一种在文件处理系统中处理任务的装置,包括:接收单元,配置为接收消息中心发送的、要求处理任务的消息;查询单元,配置为根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;判断单元,配置为根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;
处理单元,配置为在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。
在第三方面,说明书实施例提供一种计算机可读的存储介质,其上存储有指令代码,所述指令代码在计算机中执行时,令计算机执行以上第一方面中的方法。
利用以上各个方面中的方法、装置、存储介质中的一个或多个,可以在多套运行环境中安全有效地进行文件任务的处理。
附图说明
图1示出示出分布式文件处理系统的示意图;
图2示出示出消息中心和文件处理系统处理文件的示意图;
图3示出文件处理的阶段示意图;
图4示出根据一个实施例在两套环境下系统的架构示意图;
图5示出根据一个实施例在文件处理系统中处理任务的流程图;
图6示出在一个实施例中处理创建消息的流程图;
图7示出在另一实施例中处理创建消息的流程图;
图8示出根据一个实施例执行任务的流程图;以及
图9示出处理任务的装置的示意框图。
具体实施方式
为了使本技术领域的人员更好地理解说明书中的技术方案,下面将结合实施例和附图,对所提供的技术方案进行详细描述。
图1示出分布式文件处理系统的示意图。在图1中,分布式文件处理系统100包括多个具有处理能力的机器10,多个机器10构成一个处理集群。以下将分布式文件处理系统简称为文件处理系统。消息中心200用于定时地向文件处理系统100发送消息,以触发文件处理系统100中的机器10执行处理文件的任务。一般地,消息中心200每隔一段时间,将所有有待执行的文件任务通过消息的形式发送给文件处理系统100。任务数据库300用于存储各个任务的执行状态。文件库400用于存储有待处理和已经处理的文件。
图2示出消息中心和文件处理系统处理文件的示意图。
如图2所示,在需要创建任务时,消息中心200向文件处理系统100发送要求创建任务的创建消息。
在一种实施方式中,文件处理系统100包括控制台或管理器,用以实现整个文件处理系统的资源管理和调度。这样的控制台或管理器可以通过一个独立的处理机器实现,也可以由某个机器10在处理文件任务之外,兼任这样的职能。在这样的实施方式中,消息中心200将创建消息发送到上述控制台或管理器,由控制台或管理器将接收到的消息分发到某个机器10进一步处理。
在另一种实施方式中,文件处理系统100中各个机器10并不具有专门的控制台或管理器来接收消息。在这样的情况下,消息中心200直接向文件处理系统100中的某个机器10发送消息。在不同的具体应用中,消息中心200可以根据不同的规则来决定向哪个机器10发送消息。在一个示例中,消息中心200随机地选择一个机器10,向该机器10发送消息。在另一示例中,消息中心200根据各个机器10的处理能力来发送消息,例如,将消息发送给当前处理能力强(例如,可用内存资源和/或CPU资源大于某阈值)的机器10。在另一示例中,消息中心200根据各个机器10的繁忙状况来发送消息,例如,将消息发送给当前比较空闲(例如,执行的任务数最少)的机器10。
文件处理系统100从消息中心200接收到要求创建任务的创建消息后,根据该创建消息,读取文件任务列表。对于列表中的每个任务,首先访问任务数据库300,判断该任务是否已经创建。如果任务数据库300中已经有该任务的记录,则不必重复创建;如果任务数据库300中没有对应的记录,则创建该任务,记录在任务数据库300中。
之后,如图2所示,消息中心200每隔一段时间向文件处理系统100发送执行任务的消息。在接收到这样的消息之后,文件处理系统100查询任务数据库300,获得要执行的任务的当前状态,或该任务目前所处的阶段。
图3示出文件处理的阶段示意图。如图3所示,文件处理系统100在创建一个文件处理任务之后,根据多种拆分规则对任务进行拆分。拆分规则可以依赖于集群中机器的数目、处理能力,文件任务的处理量等因素。在图3的示意图中,一个文件处理任务被拆分为N个子任务,或称N个分片任务,这N个子任务可以分发到不同的机器10中并行执行。在N个子任务全部执行完毕之后,处理系统对子任务进行合并,还原为对应的一项文件处理任务。之后,对该任务进行一些后置处理。各个任务的执行阶段和执行状态存储在任务数据库300中。
回到图2,在接收到执行任务的消息之后,文件处理系统100通过查询任务数据库300,可以获得要执行的任务的当前状态,根据当前状态跳转到不同的阶段来执行。在具体执行某个任务的过程中,文件处理系统100根据任务的元数据,读取文件库400中的文件,按照任务要求对其进行处理。
特别地,文件处理系统100在拆分某个任务之后,可以向消息中心100返回一条消息,告知其拆分状况。此后,消息中心200可以向文件处理系统100中的多个机器10分别发送执行子任务的消息。如此,接收到执行子任务的消息的多个机器10就会在消息的触发之下,分别并行地对分配到的子任务进行处理,直到所有子任务都处理完成。
然后,消息中心100会继续发送执行任务的消息。此时文件处理系统100通过查询任务数据库300,检查与该任务对应的所有子任务是否处理完成。如果是,那么利用文件处理系统100中的一台机器10对所有子任务进行合并处理。接着,响应于消息中心100继续发送的执行任务消息,文件处理系统100对任务进行一些后置处理。
以上描述了分布式文件处理系统在消息中心的消息触发下,进行文件处理的过程。如前所述,在灰度发布过程中,会同时存在两套相互隔离的环境,预发布环境和线上生产环境。为了使得文件处理系统和消息中心可以分别在两套,甚至更多套环境中安全有效地执行,在一个实施例中,使得多套文件处理系统共享任务数据库和控制信息,以此保证一项任务只在一套文件处理系统中执行。
图4示出根据一个实施例在两套环境下系统的架构示意图。如图4所示,存在两套运行环境,第一环境和第二环境。在一个实施例中,第一环境例如是预发布环境,第二环境例如是线上生产环境。每套环境中都包含对应的文件处理系统和消息中心。具体地,在第一环境中,第一文件处理系统101在第一消息中心201的消息触发下,执行文件处理任务;在第二环境中,第二文件处理系统102在第二消息中心202的消息触发下,执行文件处理任务。第一和第二文件处理系统101和102可以是图1所示的分布式文件处理系统100,它们各自按照图2和图3的图示,在各自消息中心201和202的消息的触发下,对任务进行处理。
进一步地,如图4所示,第一文件处理系统101和第二文件处理系统102共享同一任务数据库300,以及共享控制信息500。任务数据库300用于记录各个任务的执行状态,共享控制信息500用于确定消息所对应的各个任务的允许处理环境。通过共享任务数据库300和共享控制信息500,保证每个任务择一地在两套环境之一中执行。以下描述这个过程。
图5示出根据一个实施例在文件处理系统中处理任务的流程图。该流程图的执行主体可以是任意一套环境下的文件处理系统,更具体地,可以是文件处理系统中的任意一台机器。
如图5所示,首先在步骤51,接收消息中心发送的、要求处理任务的消息。接着,在步骤52,根据接收的消息查询共享控制信息,该共享控制信息用以确定所述消息对应的任务的允许处理环境。如图4所示,所述共享控制信息由当前文件处理系统与至少一个其他处理环境中的文件处理系统所共享。
接着,在步骤53,根据查询结果判断当前文件处理系统是否有权处理所述消息对应的任务;在有权处理的情况下,在步骤54,处理所述消息对应的任务,并且在步骤55,将所述任务的处理状态记录在任务数据库中。如图4所示,任务数据库也是由当前文件处理系统与至少一个其他处理环境中的文件处理系统所共享。如果步骤53的判断结果为无权处理,那么直接结束处理过程,不再进行处理。下面描述上述各个步骤的具体执行过程。
可以理解,在存在多套环境(例如图4所示的两套环境)的情况下,每套环境的消息中心均开启,持续向本环境中对应的文件处理系统发送消息,包括要求创建任务的创建消息,以及要求执行任务的执行消息。相应地,每套环境中的文件处理系统都会接收到这样的创建消息和执行消息。以下分别就创建消息和执行消息的情况进行描述。
图6示出在一个实施例中处理创建消息的流程图。具体地,如图6所示,在步骤61,从消息中心接收到要求创建任务的创建消息。一般地,消息中心发出的创建消息本身中并不包含待创建的任务,而是指示出一个待创建任务列表,其中列出若干待创建的任务。
一旦接收到创建消息,与图5的步骤52相对应地,在步骤62,根据该创建消息查询共享控制信息,该共享控制信息由当前处理环境和其他处理环境的文件处理系统所共享,并用以确定所述消息对应的任务的允许处理环境。
在图6所示的实施例中,共享控制信息具体为环境配置信息,其中直接记录各个任务的允许处理环境。通过读取这样的环境配置信息,可以直接获得待创建的任务的允许处理环境。更进一步地,步骤62具体可以包括,根据创建消息读取待创建任务列表,获取待创建任务的任务信息;根据所述任务信息读取上述环境配置信息,从中得到该任务信息对应的允许处理环境。
上述任务信息可以包括任务的元数据。任务的元数据可以唯一地定位一个任务。根据任务所对应的文件的不同,元数据也可以不同。在一个例子中,要处理的文件为基金代销平台与基金公司之间传输的申请文件和确认文件。此时,任务的元数据可以包括业务类型、基金机构代码(ID)、业务日期。这三个信息就可以唯一地定位一个文件任务。在另一例子中,要处理的文件为交易记录文件。此时,任务元数据可以包括商家ID和交易日期。此外,也可以处理其他类型的文件任务,其对应的任务元数据会相应地有所不同。
在一个实施例中,上述环境配置信息存储在任务数据库300中,从而由多个文件处理系统所共享。
在另一实施例中,上述环境配置信息存储在配置数据库中,所述配置数据库可以是不同于任务数据库300的另一数据库,专用于存储环境配置信息,并且该配置数据库也是由当前文件处理系统与其他处理环境中的文件处理系统所共享。如此可以避免在同一数据库中既存储任务执行状态又存储配置信息所引起的潜在的风险。
在又一实施例中,上述环境配置信息预先存储在各个文件处理系统中,包括当前文件处理系统和其他处理环境中的文件处理系统。这样,每个文件处理系统都在其本地存储有同样的环境配置信息。在根据接收到的消息查询环境配置信息的时候,只需要在本地进行查询,而不需要访问外部数据库,提高了处理效率。
进一步地,在一个实施例中,上述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在各个文件处理系统中。在DRM框架中,可以通过控制台将数据同步地推送到系统集群中的每一台机器中,从而改变机器当前的某些内存值,即使机器重启后这样的内存值依然有效。利用DRM的推送机制,可以快速同步地将环境配置信息推送给多个文件处理系统,更具体地,推送到多个文件处理系统中的每台机器,使得每台机器同步地保持同样的环境配置信息。如此,即使在后续执行过程中,需要更改环境配置信息,也可以通过再次推送更新信息,使得每台机器同步地维护同样的环境配置信息。
通过读取这样的环境配置信息,可以直接确定出创建消息所指示的待创建任务的允许处理环境。如前所述,创建消息通常指示出一个待创建任务列表,其中包含多条待创建的任务。对于每项待创建的任务,在步骤63,根据查询结果,也就是,从环境配置信息中直接读取的待创建任务的允许处理环境,来判断当前文件处理系统是否有权处理该任务。更具体地,步骤63的判断也就是直接比较所读取的允许处理环境与当前处理环境是否匹配。如果不匹配,则无权处理该任务,也就是不能创建该任务,直接结束处理;如果匹配,则意味着有权处理该任务,那么在步骤64,处理该任务的创建流程。具体而言,在创建流程中,首先查询任务数据库300,判断任务数据库300中是否已包含上述待创建任务,如果已包含,则不再创建,否则,创建该任务,并在步骤65,在任务数据库300中记录该创建的任务。
在以上实施例中,环境配置信息预先指定了各个任务的处理环境,使得每个任务仅由一个文件处理系统创建一次,而不会重复创建。
在另一实施例中,在任务数据库300中针对创建消息设立锁资源,以此作为共享控制信息。图7示出该实施例中创建任务的流程图。
如图7所示,在步骤71,接收到消息中心发送的、要求创建任务的创建消息。接着,在步骤72,查询共享控制信息具体体现为,根据所述创建消息查询任务数据库300,请求与上述创建消息对应的锁资源。所述锁资源用于记录所述创建消息是否已经被其他处理环境中的文件处理系统处理。通过设立锁资源,一旦某个环境中的文件处理系统处理了该创建消息,或认领了该消息,就会将该消息锁定,使得其他文件处理系统不必再重复处理。换而言之,只有一个文件处理系统能够获得该锁资源。进一步地,是否获取到该锁资源指示出,当前处理环境能否处理该创建消息所对应的任务,也就是,当前处理环境能否作为该创建消息所对应任务的允许处理环境。
可以通过多种方式来设立锁资源。在一个例子中,通过特定格式的记录来实现上述锁资源。例如,第一个请求处理该创建消息的文件处理系统在认领了该创建消息之后,在任务数据库中写入一条特定格式的记录作为锁资源;后续的其他环境中的文件处理系统在访问任务数据库时,如果读取到该记录,则获知该创建消息已经被处理。在另一例子中,在任务数据库中为该创建消息设立已处理/未处理标签,将该标签作为锁资源。一旦某个文件处理系统认领了该创建消息,就将其标签更改为已处理,从而将其锁定。此外,本领域技术人员在以上举例的基础上,还可以根据需要用其他形式实现该锁资源。
在步骤73,判断是否获得锁资源。如果当前的文件处理系统获取到该创建消息对应的锁资源,那么该条消息还没有被处理,因此可以认为当前的文件处理系统有权处理该创建消息(或者是当前处理环境可以作为对应任务的允许处理环境)。于是,在步骤74,当前的文件处理系统获得上述创建消息所指示的待创建任务列表,获取对应的待创建任务,并根据任务数据库300中的记录信息,来创建任务。具体地,对于列表中的每个任务,首先访问任务数据库300,判断该任务是否已经创建。如果任务数据库300中已经有该任务的记录,则不必重复创建;如果任务数据库300中没有对应的记录,则创建该任务。并且,在步骤75,将创建的任务记录在任务数据库300中。
另一方面,如果当前的文件处理系统在查询任务数据库、请求锁资源之后没有获取到该锁资源,那么就认为该创建消息已经被其他环境的文件处理系统所处理并锁定,也就是,当前处理环境无权处理所述创建消息(或者说当前处理环境不能作为对应任务的允许处理环境)。此时,直接结束处理,而不进行任务的创建。
通过图6和图7的实施例可以看到,通过查询共享控制信息,可以保证任务的创建在多套环境中仅被一套环境的文件处理系统执行一次。
以上描述了通过利用共享控制信息进行任务创建的过程。下面描述任务执行阶段,文件处理系统的处理过程。
图8示出根据一个实施例执行任务的流程图。
如图8所示,在步骤81,从消息中心接收到要求执行任务的执行消息。一般地,消息中心发出的执行消息本身中就会包含待执行任务的任务信息,其中包含任务的元数据。
一旦接收到上述执行消息,就根据该执行消息查询共享控制信息,来确定所述消息对应的任务的允许处理环境。
具体地,在图8的实施例中,共享控制信息为环境配置信息,其中直接记录各个任务的允许处理环境。相应地,步骤82包括,查询这样的环境配置信息,从中直接读取待执行的任务的允许处理环境。进一步地,步骤82具体可以包括,根据所述执行消息获取待执行任务的任务信息;根据所述任务信息查询上述环境配置信息,从中得到该任务信息对应的允许处理环境。
在一个实施例中,上述环境配置信息存储在任务数据库300中,从而由多个文件处理系统所共享。
在另一实施例中,上述环境配置信息存储在不同于任务数据库300的配置数据库中,该配置数据库也是由当前文件处理系统与其他处理环境中的文件处理系统所共享。
在又一实施例中,上述环境配置信息预先存储在各个文件处理系统中,包括当前文件处理系统和其他处理环境中的文件处理系统。
进一步地,在一个实施例中,上述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在各个文件处理系统中。
可以理解,环境配置信息可预先指定各个任务的允许处理环境。由于穷举地列出所有任务的允许处理环境较为繁琐,在存在两套处理环境的情况下,可以列出允许一套环境处理的任务,其余未列出的任务默认将另一套环境作为允许处理环境。例如,在一个例子中,仅列出少量对处理能力要求不高的任务,将其允许处理环境设定为预发布环境,其余未列出的任务,默认均将正式的线上生产环境作为允许处理环境。
在一个实施例中,在任务创建阶段和执行阶段均需要查询上述环境配置信息。在这样的情况下,在一个例子中,可以在环境配置信息中,对不同阶段的任务的允许处理环境进行不同的设置,例如,对于某项任务,可以将其设置为,创建阶段的允许处理环境为A环境,执行阶段的允许处理环境为B环境。
在一个实施例中,在任务从创建到执行完毕的整个周期之内,环境配置信息可以动态地调整。特别是,在环境配置信息通过DRM推送机制存储到各个环境中的文件处理系统的情况下,DRM推送机制可以确保各个文件处理系统同步地获得环境配置信息。如此,即使在任务处理周期之内出于某种需要修改了环境配置信息,也可以利用DRM推送机制,在任务执行间歇,将更新的环境配置信息再次推送给各个文件处理系统,使其同步地维持该更新的环境配置信息。
如此,环境配置信息可以根据需要灵活地进行配置,以适应不同环境下的文件处理系统的需要。
通过查询这样的环境配置信息,可以直接确定出执行消息所包含的待执行任务的允许处理环境。对于该待执行任务,在步骤83,根据查询结果判断当前文件处理系统是否有权执行该任务,也就是判断所确定的该任务的允许处理环境与当前处理环境是否匹配。如果不匹配,则无权执行该任务,结束处理流程。如果两者匹配,则当前文件处理系统有权执行该任务,那么在步骤84,执行该任务。具体地,步骤84可以包括,根据任务的元数据,访问文件库;根据任务类型对文件库中的对应文件进行处理。并且,在步骤85,在任务数据库300中记录该任务的执行状态。
如前所述,文件处理系统在执行任务的过程中,可以将一项任务拆分为多个子任务。在一个实施例中,步骤81中接收到的消息为,要求执行子任务的执行消息。对于这样的情况,在步骤82中,首先从所述执行消息中获取子任务的信息。通常来说,子任务的信息中会包含该子任务所归属的主任务的信息。因此,可以根据所述子任务的信息获取所述子任务所归属的主任务的任务信息,再根据该主任务的任务信息查询环境配置信息,从中读取该主任务对应的允许处理环境,作为该子任务的允许处理环境。接下来的判断步骤83以及后续的执行步骤都与常规任务相同。
以上描述了在任务执行阶段利用环境配置信息对任务进行处理的实施例。在其他实施例中,也可以与图7类似地采用锁资源的方式,决定由哪个环境下的文件处理系统来执行任务。
可以理解,尽管图4示出了两个处理环境的情况,但是,说明书中描写的实施例的方案可以适用于更多套环境的情况。总体来说,在存在同时运行的多套环境的情况下,每套环境中的文件处理系统可同时访问上述的共享控制控制信息,从而确定是否处理当前消息对应的任务。如此,保证每个任务在同一时间仅在一套环境中执行。
在另一方面,说明书的实施例还提供了在文件处理系统中处理任务的装置。图9示出处理任务的装置的示意框图。如图9所示,该装置900包括:接收单元91,配置为接收消息中心发送的、要求处理任务的消息;查询单元92,配置为根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;判断单元93,配置为根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;处理单元94,配置为在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。
在一个实施例中,所述共享控制信息包括环境配置信息,所述环境配置信息用于记录至少一项任务的允许处理环境。相应地,上述查询单元92进一步配置为:根据所述消息获取对应的任务信息;根据所述任务信息读取所述环境配置信息中所记录的所述任务信息对应的允许处理环境。
在一个实施例中,所述环境配置信息存储在所述任务数据库中。
在一个实施例中,所述环境配置信息存储在配置数据库中,所述配置数据库由所述文件处理系统与所述至少一个其他处理环境中的文件处理系统所共享。
在一个实施例中,所述环境配置信息预先存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
在一个实施例中,所述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
在一个实施例中,所述消息为要求创建任务的创建消息,在这样的情况下,所述处理单元94配置为:判断所述消息对应的任务是否已经包含在所述任务数据库中;在没有包含的情况下,在所述任务数据库中创建所述任务。
在一个实施例中,所述消息为要求创建任务的创建消息,所述共享控制信息包括所述任务数据库中的锁资源,所述锁资源用于记录所述创建消息是否已经被所述至少一个其他处理环境中的文件处理系统处理。
在一个实施例中,所述查询单元配置为,访问所述任务数据库,请求与所述消息对应的锁资源;所述判断单元配置为,在获得所述锁资源的情况下,判断所述文件处理系统有权处理所述消息对应的任务。
在一个实施例中,所述消息为要求执行任务的执行消息,在这样的情况下,所述处理单元配置为:根据所述执行消息获取所述任务的元数据;根据所述元数据访问文件库中的文件,并对所述文件进行处理。
在一个实施例中,所述执行消息为要求执行子任务的执行消息,所述查询单元配置为:根据所述执行消息获取所述子任务的信息,根据所述子任务的信息获取所述子任务所归属的主任务的任务信息,根据所述主任务的任务信息查询所述共享控制信息。
在又一方面,说明书实施例还提供一种计算机可读的存储介质,其上存储有指令代码,所述指令代码在计算机中执行时,令计算机执行以上结合图5-图8描述的方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

1.一种在文件处理系统中处理任务的方法,包括:
接收消息中心发送的、要求处理任务的消息;
根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;
根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。
2.根据权利要求1所述的方法,其特征在于,所述共享控制信息包括环境配置信息,所述环境配置信息用于记录至少一项任务的允许处理环境,
所述根据所述消息查询共享控制信息包括:
根据所述消息获取对应的任务信息;
根据所述任务信息读取所述环境配置信息中所记录的所述任务信息对应的允许处理环境。
3.根据权利要求2所述的方法,其特征在于,所述环境配置信息存储在所述任务数据库中。
4.根据权利要求2所述的方法,其特征在于,所述环境配置信息存储在配置数据库中,所述配置数据库由所述文件处理系统与所述至少一个其他处理环境中的文件处理系统所共享。
5.根据权利要求2所述的方法,其特征在于,所述环境配置信息预先存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
6.根据权利要求5所述的方法,其特征在于,所述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述消息为要求创建任务的创建消息,
所述处理所述消息对应的任务包括:
判断所述消息对应的任务是否已经包含在所述任务数据库中;
在没有包含的情况下,在所述任务数据库中创建所述任务。
8.根据权利要求1所述的方法,其特征在于,所述消息为要求创建任务的创建消息,所述共享控制信息包括所述任务数据库中的锁资源,所述锁资源用于记录所述创建消息是否已经被所述至少一个其他处理环境中的文件处理系统处理。
9.根据权利要求8所述的方法,其特征在于,所述根据所述消息查询共享控制信息包括,访问所述任务数据库,请求与所述消息对应的锁资源;
所述根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务包括,在获得所述锁资源的情况下,判断所述文件处理系统有权处理所述消息对应的任务。
10.根据权利要求1-6中任一项所述的方法,其特征在于,所述消息为要求执行任务的执行消息,
所述处理所述消息对应的任务包括:
根据所述执行消息获取所述任务的元数据;
根据所述元数据访问文件库中的文件,并对所述文件进行处理。
11.根据权利要求1-6中任一项所述的方法,其特征在于,所述执行消息为要求执行子任务的执行消息,
所述根据所述消息查询共享控制信息包括:
根据所述执行消息获取所述子任务的信息,
根据所述子任务的信息获取所述子任务所归属的主任务的任务信息,
根据所述主任务的任务信息查询所述共享控制信息。
12.一种在文件处理系统中处理任务的装置,包括:
接收单元,配置为接收消息中心发送的、要求处理任务的消息;
查询单元,配置为根据所述消息查询共享控制信息,其中所述共享控制信息由所述文件处理系统与至少一个其他处理环境中的文件处理系统所共享,用以确定所述消息对应的任务的允许处理环境;
判断单元,配置为根据查询结果判断所述文件处理系统是否有权处理所述消息对应的任务;
处理单元,配置为在有权处理的情况下,处理所述消息对应的任务,并将所述任务的处理状态记录在任务数据库中,其中所述任务数据库由所述文件处理系统和所述至少一个其他处理环境中的文件处理系统所共享。
13.根据权利要求12所述的装置,其特征在于,所述共享控制信息包括环境配置信息,所述环境配置信息用于记录至少一项任务的允许处理环境,
所述查询单元进一步配置为:
根据所述消息获取对应的任务信息;
根据所述任务信息读取所述环境配置信息中所记录的所述任务信息对应的允许处理环境。
14.根据权利要求13所述的装置,其特征在于,所述环境配置信息存储在所述任务数据库中。
15.根据权利要求13所述的装置,其特征在于,所述环境配置信息存储在配置数据库中,所述配置数据库由所述文件处理系统与所述至少一个其他处理环境中的文件处理系统所共享。
16.根据权利要求13所述的装置,其特征在于,所述环境配置信息预先存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
17.根据权利要求16所述的方法,其特征在于,所述环境配置信息通过分布式资源管理框架DRM的推送机制,存储在所述文件处理系统中,以及所述至少一个其他处理环境中的文件处理系统中。
18.根据权利要求12-17中任一项所述的装置,其特征在于,所述消息为要求创建任务的创建消息,
所述处理单元配置为:
判断所述消息对应的任务是否已经包含在所述任务数据库中;
在没有包含的情况下,在所述任务数据库中创建所述任务。
19.根据权利要求12所述的装置,其特征在于,所述消息为要求创建任务的创建消息,所述共享控制信息包括所述任务数据库中的锁资源,所述锁资源用于记录所述创建消息是否已经被所述至少一个其他处理环境中的文件处理系统处理。
20.根据权利要求19所述的装置,其特征在于,
所述查询单元配置为,访问所述任务数据库,请求与所述消息对应的锁资源;
所述判断单元配置为,在获得所述锁资源的情况下,判断所述文件处理系统有权处理所述消息对应的任务。
21.根据权利要求12-17中任一项所述的装置,其特征在于,所述消息为要求执行任务的执行消息,
所述处理单元配置为:
根据所述执行消息获取所述任务的元数据;
根据所述元数据访问文件库中的文件,并对所述文件进行处理。
22.根据权利要求12-17中任一项所述的装置,其特征在于,所述执行消息为要求执行子任务的执行消息,
所述查询单元配置为:
根据所述执行消息获取所述子任务的信息,
根据所述子任务的信息获取所述子任务所归属的主任务的任务信息,
根据所述主任务的任务信息查询所述共享控制信息。
23.一种计算机可读的存储介质,其上存储有指令代码,所述指令代码在计算机中执行时,令计算机执行权利要求1-11中任一项所述的方法。
CN201710872602.XA 2017-09-25 2017-09-25 一种在文件处理系统中处理任务的方法和装置 Active CN107832124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710872602.XA CN107832124B (zh) 2017-09-25 2017-09-25 一种在文件处理系统中处理任务的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710872602.XA CN107832124B (zh) 2017-09-25 2017-09-25 一种在文件处理系统中处理任务的方法和装置

Publications (2)

Publication Number Publication Date
CN107832124A true CN107832124A (zh) 2018-03-23
CN107832124B CN107832124B (zh) 2021-07-09

Family

ID=61644036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710872602.XA Active CN107832124B (zh) 2017-09-25 2017-09-25 一种在文件处理系统中处理任务的方法和装置

Country Status (1)

Country Link
CN (1) CN107832124B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452554A (zh) * 2021-06-18 2021-09-28 上海艾拉比智能科技有限公司 一种基于排队机制的在线ota差分做包系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604593B1 (ko) * 2004-02-03 2006-07-25 엘지엔시스(주) 구성정보 공유를 통한 클러스터 시스템 동적 재구성 방법
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103647834A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种用于处理多阶段分布式任务调度的系统及方法
CN104821958A (zh) * 2015-04-17 2015-08-05 国家电网公司 基于WebService的用电数据分组交互接口方法
CN106406983A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种集群中的任务调度方法及装置
CN106775965A (zh) * 2016-11-17 2017-05-31 腾讯科技(深圳)有限公司 一种定时任务的处理方法及装置
CN107016014A (zh) * 2016-09-30 2017-08-04 阿里巴巴集团控股有限公司 异构数据库的数据同步方法及装置
CN107092528A (zh) * 2016-12-30 2017-08-25 北京小度信息科技有限公司 一种分布式任务调度方法、装置及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604593B1 (ko) * 2004-02-03 2006-07-25 엘지엔시스(주) 구성정보 공유를 통한 클러스터 시스템 동적 재구성 방법
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103647834A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种用于处理多阶段分布式任务调度的系统及方法
CN104821958A (zh) * 2015-04-17 2015-08-05 国家电网公司 基于WebService的用电数据分组交互接口方法
CN106406983A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种集群中的任务调度方法及装置
CN107016014A (zh) * 2016-09-30 2017-08-04 阿里巴巴集团控股有限公司 异构数据库的数据同步方法及装置
CN106775965A (zh) * 2016-11-17 2017-05-31 腾讯科技(深圳)有限公司 一种定时任务的处理方法及装置
CN107092528A (zh) * 2016-12-30 2017-08-25 北京小度信息科技有限公司 一种分布式任务调度方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452554A (zh) * 2021-06-18 2021-09-28 上海艾拉比智能科技有限公司 一种基于排队机制的在线ota差分做包系统及方法

Also Published As

Publication number Publication date
CN107832124B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US11615007B2 (en) Method and control system for controlling and/or monitoring devices
JP6877448B2 (ja) 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
CA3120888C (en) Enforcing data consistency in a transportation network
KR20190046843A (ko) 서로 다른 파티들 사이에서 객체들을 추적하는 기법
CN106911770A (zh) 一种基于多云存储的数据共享方法及系统
JP2023159065A (ja) 制御方法、情報処理装置、管理システム、及び、プログラム
US20210037100A1 (en) Method and control system for controlling and/or monitoring devices
CN102822841A (zh) 瘦客户端系统及其访问控制方法和访问控制程序
US9104486B2 (en) Apparatuses, systems, and methods for distributed workload serialization
CN106131244A (zh) 一种报文传送方法及装置
CN113589775A (zh) 针对处理对象的处理步骤的开启
US11861360B2 (en) Management method, management apparatus, and program
CN111492355A (zh) 用于控制和/或监控装置的方法和控制系统
US11231958B2 (en) Method and control system for controlling and/or monitoring devices
CN107832124A (zh) 一种在文件处理系统中处理任务的方法和装置
Zhong et al. Integrated scheduling of production and distribution with release dates and capacitated deliveries
US11362914B2 (en) Method and control system for controlling and/or monitoring devices
CN106991297A (zh) 软件许可的管理方法和系统及创建方法和系统
EP1977551B1 (en) Binding a protected application program to shell code
JP2021077126A (ja) 検査システム及び検査方法
CN117009114B (zh) 一种数据共享方法、装置、电子设备及存储介质
US11244251B2 (en) Reservation of lock box facilities
JP7232085B2 (ja) 管理システム、サーバ、管理方法、及びプログラム
CN110505203B (zh) 一种报文数据处理方法、装置和存储介质
CN118170646A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201019

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201019

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant