CN102542047B - 一种任务逻辑库生成方法和系统、数据处理方法和系统 - Google Patents

一种任务逻辑库生成方法和系统、数据处理方法和系统 Download PDF

Info

Publication number
CN102542047B
CN102542047B CN201110448239.1A CN201110448239A CN102542047B CN 102542047 B CN102542047 B CN 102542047B CN 201110448239 A CN201110448239 A CN 201110448239A CN 102542047 B CN102542047 B CN 102542047B
Authority
CN
China
Prior art keywords
logic
tasks
atomic operation
storehouse
mark
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.)
Expired - Fee Related
Application number
CN201110448239.1A
Other languages
English (en)
Other versions
CN102542047A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201110448239.1A priority Critical patent/CN102542047B/zh
Publication of CN102542047A publication Critical patent/CN102542047A/zh
Application granted granted Critical
Publication of CN102542047B publication Critical patent/CN102542047B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了种任务逻辑库生成方法和系统、数据处理方法和系统,涉及计算机技术领域。本申请的方法包括:加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。通过本申请,对于不同的应用,可根据每个应用的实际情况进行配置,并结合原子操作库生成相应的任务逻辑库,从而使不同的应用可以采用同一套代码,节省了人力成本和时间成本。

Description

一种任务逻辑库生成方法和系统、数据处理方法和系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务逻辑库生成方法和系统、数据处理方法和系统。
背景技术
在互联网行业中,各种应用一般变化都比较大,而且应用的类型较多。但是各种应用的逻辑,数据处理过程,以及特点基本都大同小异。现有技术中对于每个应用需要根据应用的实际的任务逻辑重写代码构建任务逻辑,即根据各应用实际的任务逻辑,将其在计算机中可执行任务逻辑直接进行编译,然后通过线程池对各请求数据调用相应的可执行任务逻辑进行处理,灵活性差,人力成本和时间成本都比较高。比如,如果应用m对于某个任务是先对目标p执行A逻辑,再执行B逻辑,那么需要将对目标先执行A逻辑,再执行B逻辑直接写入系统,如果另一个应用n对目标q先执行B逻辑再执行A逻辑,那么应用m的系统就无法直接应用到应用n中。对于应用n,需要重新构建系统,从而导致人力成本和时间成本都比较高。
发明内容
本申请所要解决的技术问题是提供一种任务逻辑库生成方法和系统、数据处理方法和系统,能使不同的应用使用同一套系统,使人力成本和时间成本都大大降低。
为了解决上述问题,本申请公开了一种任务逻辑库生成方法,包括:
加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
优选的,所述的原子操作库通过以下步骤生成:
提取组成应用各任务逻辑的各原子操作;
将各原子操作进行封装,并以各原子操作标识进行对应;
以各原子操作标识及相应封装后的原子操作建立原子操作库。
优选的,所述的原子操作为具有不可分割性的计算机可执行原语。
优选的,在配置文件中对任务逻辑进行配置时包括:结合各原子操作的操作参数进行配置。
相应的,本申请还公开了一种数据处理方法,包括:
接收客户端的请求数据;
通过主线程将请求数据放入线程池任务队列;
由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识;
根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理;
将处理完毕的结果数据整理返回至客户端;
其中,所述的任务逻辑库通过以下步骤建立:
加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
优选的,所述的原子操作库通过以下步骤生成:
提取组成应用各任务逻辑的各原子操作;;
将各原子操作进行封装,并以各原子操作标识进行对应;
以各原子操作标识及相应封装后的原子操作建立原子操作库。
相应的,本申请还公开了一种任务逻辑库生成系统,包括:
加载模块,用于加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
可执行任务逻辑生成模块,用于针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
任务逻辑库生成模块,用于将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
优选的,所述的原子操作库通过以下模块生成:
原子操作提取模块,用于提取组成应用各任务逻辑的各原子操作;;
封装模块,用于将各原子操作进行封装,并以各原子操作标识进行对应;
原子操作库生成模块,用于以各原子操作标识及相应封装后的原子操作建立原子操作库。
优选的,所述的原子操作为具有不可分割性的计算机可执行原语。
优选的,在配置文件中对任务逻辑进行配置时包括:
结合各原子操作的操作参数进行配置。
相应的,本申请还公开了一种数据处理系统,包括:
数据接收模块,用于接收客户端的请求数据;
数据调入模块,用于通过主线程将请求数据放入线程池任务队列;
数据解析模块,用于由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识;
任务执行模块,用于根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理;
数据返回模块,用于将处理完毕的结果数据整理返回至客户端;
任务逻辑库生成模块,包括:
加载子模块,用于加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
可执行任务逻辑生成子模块,用于针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
任务逻辑库生成子模块,用于将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
优选的,所述的原子操作库通过以下模块生成:
原子操作提取模块,用于提取组成应用各任务逻辑的各原子操作;;
封装模块,用于将各原子操作进行封装,并以各原子操作标识进行对应;原子操作库生成模块,用于以各原子操作标识及相应封装后的原子操作建立原子操作库。
与现有技术相比,本申请包括以下优点:
本申请根据实际的应用的各任务逻辑包括的原子操作,通过原子操作标识对各任务逻辑进行配置,然后在使用所述应用时首先加载配置文件,根据配置文件各逻辑操作的原子操作标识,从原子操作库中提取相应的原子操作生成可执行的任务逻辑,从而生成对于实际应用的任务逻辑库,然后系统的线程池根据该任务逻辑库对客户端的请求数据进行处理,通过上述过程,对于不同的应用,可根据每个应用的实际情况进行配置,并结合原子操作库生成相应的任务逻辑库,从而使不同的应用可以采用同一套代码,节省了人力成本和时间成本。
附图说明
图1是本申请一种任务逻辑库生成方法的流程示意图;
图2是本申请一种数据处理方法的流程示意图;
图3是本申请一种任务逻辑库生成系统的结构示意图;
图4是本申请一种数据处理系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
比如在互联网行业,各应用的变化一般都变化较大,而且应用的类型较多,但是应用的逻辑,数据的处理流程以及特点基本都大同小异。如果未了每个应用都重写代码,人力和时间成本都比较高。本申请根据实际的应用的各任务逻辑包括的原子操作,通过原子操作标识对各任务逻辑进行配置,然后在使用所述应用时首先加载配置文件,根据配置文件各逻辑操作的原子操作标识,从原子操作库中提取相应的原子操作生成可执行的任务逻辑,从而生成对于实际应用的任务逻辑库,然后系统的线程池根据该任务逻辑库对客户端的请求数据进行处理,通过上述过程,对于不同的应用,可根据每个应用的实际情况进行配置,并结合原子操作库生成相应的任务逻辑库,从而使不同的应用可以采用同一套代码,节省了人力成本和时间成本。
参照图1,示出了本申请一种任务逻辑库生成方法的流程示意图,包括:
步骤110,加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置。
其中,所述的任务逻辑一般为由线程执行的任务逻辑,即可放入线程的任务队列中的任务逻辑。实际中,各种应用的任务逻辑是由计算机系统的基本原子操作组成。所述的原子操作为具有不可分割性的计算机可执行原语,即所述的原子操作是指不会被线程调度机制打断的操作,原子操作一旦开始,就一直运行倒结束,中间不会有任何切换。原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。原子操作一般只需要一次内存访问就能完成处理。比如使用了带有C/C++表达式的内联汇编代码设计的原子操作,格式如下:
_asm__volatile_(″InstructionList″:Output:Input:Clobber/Modify);
_asm__volatile_指示编译器原封不动保留表达式中的汇编指令系列,不考虑优化处理。涉及的约束还包括:
1.等号约束(=):只能用于输出操作表达式约束,说明括号内的左值表达式v->counter是write-only的。
2.内存约束(m):表示使用不需要借助寄存器,直接使用内存方式进行输入或输出。
3.立即数约束(i):表示输入表达式是一个立即数(整数),不需要借助任何寄存器。
4.寄存器约束(r):表示使用一个通用寄存器,由GCC在%eax/%ax/%al、%ebx/%bx/%bl、%ecx/%cx/%cl和%edx/%dx/%dl中选取一个合适的。
在实际中,各种应用的任务逻辑基本上是由各种原子操作按照一定顺序组合起来的,由此构成了应用的各个任务逻辑。比如说应用的取数据这个任务逻辑,该任务逻辑为:取cache(高速缓冲存储器)的数据,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则取db(database,数据库)的数据,如果取db的数据不成功则返回错误,如果取db的数据成功,将数据回写cache并返回数据。那么取数据的原子操作包括:取cache,取db,写cache。如果将各原子操作进行抽象,即以原子操作标识对应实际的原子操作,比如用get_cache作为原子操作取cache的标识,用write_cache作为原子操作写cache的标识,用get_db作为原子操作取db的标识,那么上述取数据这个任务逻辑可配置为:get_cache,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则get_db,如果取db的数据不成功则返回错误,如果取db的数据成功,则write_cache并返回数据。
又比如应用的写数据这个任务逻辑,该任务逻辑为:写db,然后清cache。那么该任务逻辑包括的原子操作为写db,清cache。如果用get_cache作为原子操作取cache的标识,用delete_cache作为原子操作清cache的标识,那么写数据这个任务逻辑可配置为:get_cache,然后delete_cache。
另外,在配置文件中对任务逻辑进行配置时包括:
结合各原子操作的操作参数进行配置。即,每个原子操作会有相应的操作对象,比如取cache,那么在cache中的那个地址(cache_key)中去取需要指明,比如取数据库,那么用什么语句去写需要说明,比如用sql。
在配置时还需要考虑当前对于当前应用,各原子操作对应的参数、库表结构等。比如说取db这个原子操作对应的数据库的库表,选用的数据库select语句等,又比如说取cache这个原子操作对应的cache地址,铭语等。
具体的比如,对于前述取数据的任务逻辑的配置文件为:
优选的,所述的原子操作库通过以下步骤生成:
步骤S11,提取组成应用各任务逻辑的各原子操作;。
在实际中,各种应用的任务逻辑都包括相同的原子操作,比如取cache,写cache,取db,写db,清理cache,字符串比较等。这些原子操作构成了各种应用的逻辑基础,即各种应用都是在这些原子操作至上涉及任务逻辑的。那么本申请首先可将这些原子操作提取出来。
步骤S12,将各原子操作进行封装,并以各原子操作标识进行对应。
在上面将各应用的原子操作提取出来之后,将各原子操作进行封装,并以原子操作标识进行对应,将原子操作标识提供给外界作为原子操作的接口。
步骤S13,以各原子操作标识及相应封装后的原子操作建立原子操作库。
在将各原子操作封装完成之后,以各原子操作标识及相应封装后的原子操作建立原子操作库,外界通过原子操作标识提取封装的原子操作。
步骤120,针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑。
根据加载的配置文件中任务逻辑的配置,即根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑。
比如前述取数据这个任务逻辑可配置为:get_cache,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则get_db,如果取db的数据不成功则返回错误,如果取db的数据成功,则write_cache并返回数据。那么根据该配置文件中的原子操作标识,根据原子操作标识get_cache从任务逻辑库中提取原子操作取cache,根据原子操作标识get_db从任务逻辑库中提取原子操作取db,根据原子操作标识write_cache从任务逻辑库中提取原子操作写cache,并根据配置的逻辑生成可执行的任务逻辑。
步骤130,将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
对于应用的配置文件中的各任务逻辑,根据各任务逻辑的配置通过前述步骤生成相应可执行的任务逻辑后,将所属的各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。比如前述取数据任务逻辑,设定其任务逻辑标识为N,那么就可根据N调用任务逻辑库中的可执行任务逻辑进行处理。
参照图2,其示出了本申请一种数据处理方法的流程示意图,包括:
步骤210,接收客户端的请求数据。
当一应用在应用服务器系统中开始运行后,当客户端使用该应用相关的功能时,会发送相应的请求数据到应用服务器中。
步骤220,通过主线程将请求数据放入线程池任务队列。
当一应用在应用服务器系统中开始运行后,在应用服务器端会建立一个线程池,应用服务器的主线程将接收到的请求数据放入线程池的任务队列中。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程.每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙.如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值.超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。一般一个线程池至少包含下列组成部分:
1.线程池管理器(ThreadPoolManager):用于创建并管理线程池
2.工作线程(WorkThread):线程池中线程
3.任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。
4.任务队列:用于存放没有处理的任务。提供一种缓冲机制。
步骤230,由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识。
对于线程池的任务队列中的任务逻辑,由线程池的工作线程通过任务接口提取所述任务队列中的请求数据,然后解析对应的各任务逻辑标识,即解析任务逻辑是做什么处理。比如,如果任务队列中按顺序有A、B两个请求数据,那么可先由线程池的空闲的工作线程提取A请求数据,工作线程解析出A请求是取数据,并且对应的任务逻辑标识为N。
步骤240,根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理。
工作线程根据前述步骤得到的任务逻辑标识,从任务逻辑库中提取相应的可执行任务逻辑执行处理。比如前述得到的任务逻辑标识为N,那么根据N从任务逻辑库中提取取数据相应的可执行任务逻辑,然后调用相应系统资源进行处理。
对于一个业务逻辑,首先通过:GetOps()来得到全部的原子操作列表数组,然后遍历数组每一个对原子操作封装的一个Operations里面,实现通用的方法Process()。最后可通过调用GetOp()->Process()来实现逻辑。
步骤250,将处理完毕的结果数据整理返回至客户端。
在可执行任务逻辑执行完毕后,将系统的处理结果返回至客户端。
其中,所述的任务逻辑库通过以下步骤建立:
步骤2,60,加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置。
在实际中,各种应用的任务逻辑基本上是由各种原子操作按照一定顺序组合起来的,由此构成了应用的各个任务逻辑。比如说应用的取数据这个任务逻辑,该任务逻辑为:取cache(高速缓冲存储器)的数据,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则取db(database,数据库)的数据,如果取db的数据不成功则返回错误,如果取db的数据成功,将数据回写cache并返回数据。那么取数据的原子操作包括:取cache,取db,写cache。如果将各原子操作进行抽象,即以原子操作标识对应实际的原子操作,比如用get_cache作为原子操作取cache的标识,用write_cache作为原子操作写cache的标识,用get_db作为原子操作取db的标识,那么上述取数据这个任务逻辑可配置为:get_cache,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则get_db,如果取db的数据不成功则返回错误,如果取db的数据成功,则write_cache并返回数据。
又比如应用的写数据这个任务逻辑,该任务逻辑为:写db,然后清cache。那么该任务逻辑包括的原子操作为写db,清cache。如果用get_cache作为原子操作取cache的标识,用delete_cache作为原子操作清cache的标识,那么写数据这个任务逻辑可配置为:get_cache,然后delete_cache。
另外,在配置时还需要考虑当前对于当前应用,各原子操作对应的参数、库表结构等。比如说取db这个原子操作对应的数据库的库表,选用的数据库select语句等,又比如说取cache这个原子操作对应的cache地址,铭语等。
优选的,所述的原子操作库通过以下步骤生成:
步骤S11,提取组成应用各任务逻辑的各原子操作;。
在实际中,各种应用的任务逻辑都包括相同的原子操作,比如取cache,写cache,取db,写db,清理cache,字符串比较等。这些原子操作构成了各种应用的逻辑基础,即各种应用都是在这些原子操作至上涉及任务逻辑的。那么本申请首先可将这些原子操作提取出来。
步骤S12,将各原子操作进行封装,并以各原子操作标识进行对应。
在上面将各应用的原子操作提取出来之后,将各原子操作进行封装,并以原子操作标识进行对应,将原子操作标识提供给外界作为原子操作的接口。
步骤S13,以各原子操作标识及相应封装后的原子操作建立原子操作库。
在将各原子操作封装完成之后,以各原子操作标识及相应封装后的原子操作建立原子操作库,外界通过原子操作标识提取封装的原子操作。
步骤270,针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑。
根据加载的配置文件中任务逻辑的配置,即根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑。
比如前述取数据这个任务逻辑可配置为:get_cache,如果数据在cache中存在则返回数据,如果数据在cache中不存在的话,则get_db,如果取db的数据不成功则返回错误,如果取db的数据成功,则write_cache并返回数据。那么根据该配置文件中的原子操作标识,根据原子操作标识get_cache从任务逻辑库中提取原子操作取cache,根据原子操作标识get_db从任务逻辑库中提取原子操作取db,根据原子操作标识write_cache从任务逻辑库中提取原子操作写cache,并根据配置的逻辑生成可执行的任务逻辑。
步骤280,将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
对于应用的配置文件中的各任务逻辑,根据各任务逻辑的配置通过前述步骤生成相应可执行的任务逻辑后,将所属的各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。比如前述取数据任务逻辑,设定其任务逻辑标识为N,那么就可根据N调用任务逻辑库中的可执行任务逻辑进行处理。
参照图3,其示出了本申请一种任务逻辑库生成系统的结构示意图,包括:
加载模块310,用于加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;
可执行任务逻辑生成模块320,用于针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
任务逻辑库生成模块330,用于将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
其中,所述的原子操作库通过以下模块生成:
原子操作提取模块,用于提取组成应用各任务逻辑的各原子操作;;
封装模块,用于将各原子操作进行封装,并以各原子操作标识进行对应;
原子操作库生成模块,用于以各原子操作标识及相应封装后的原子操作建立原子操作库。
优选的,所述的原子操作为具有不可分割性的计算机可执行原语。
优选的,在配置文件中对任务逻辑进行配置时包括:结合各原子操作的操作参数进行配置。
参照图4,其示出了本申请一种数据处理系统的结构示意图,包括:
数据接收模块410,用于接收客户端的请求数据;
数据调入模块420,用于通过主线程将请求数据放入线程池任务队列;
数据解析模块430,用于由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识;
任务执行模块440,用于根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理;
数据返回模块450,用于将处理完毕的结果数据整理返回至客户端;
任务逻辑库生成模块,包括:
加载子模块460,用于加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;
可执行任务逻辑生成子模块470,用于针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
任务逻辑库生成子模块480,用于将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
其中,所述的原子操作库通过以下模块生成:
原子操作提取模块,用于提取组成应用各任务逻辑的各原子操作;;
封装模块,用于将各原子操作进行封装,并以各原子操作标识进行对应;
原子操作库生成模块,用于以各原子操作标识及相应封装后的原子操作建立原子操作库。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种任务逻辑库生成方法和系统、数据处理方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (4)

1.一种数据处理方法,其特征在于,包括:
应用服务器接收客户端的请求数据;
通过主线程将请求数据放入线程池任务队列;
由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识;
根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理;
将处理完毕的结果数据整理返回至客户端;
其中,所述的任务逻辑库通过以下步骤建立:
加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
2.根据权利要求1所述的方法,其特征在于,所述的原子操作库通过以下步骤生成:
提取组成应用各任务逻辑的各原子操作;
将各原子操作进行封装,并以各原子操作标识进行对应;
以各原子操作标识及相应封装后的原子操作建立原子操作库。
3.一种数据处理系统,其特征在于,包括:
数据接收模块,用于接收客户端的请求数据;
数据调入模块,用于通过主线程将请求数据放入线程池任务队列;
数据解析模块,用于由线程池的工作线程提取所述任务队列中的请求数据,并解析对应的各任务逻辑标识;
任务执行模块,用于根据任务逻辑标识从任务逻辑库中提取相应的可执行任务逻辑执行处理;
数据返回模块,用于将处理完毕的结果数据整理返回至客户端;
任务逻辑库生成模块,包括:
加载子模块,用于加载应用的配置文件;所述的配置文件包括应用的各任务逻辑,所述各任务逻辑由至少一个原子操作标识按逻辑顺序配置;所述的原子操作为具有不可分割性的计算机可执行原语;
可执行任务逻辑生成子模块,用于针对所述各任务逻辑,根据各任务逻辑中的各原子操作标识,从原子操作库中提取相应的原子操作生成可执行任务逻辑;
任务逻辑库生成子模块,用于将所述各可执行任务逻辑与相应的任务逻辑标识一起存入任务逻辑库。
4.根据权利要求3所述的系统,其特征在于,所述的原子操作库通过以下模块生成:
原子操作提取模块,用于提取组成应用各任务逻辑的各原子操作;
封装模块,用于将各原子操作进行封装,并以各原子操作标识进行对应;
原子操作库生成模块,用于以各原子操作标识及相应封装后的原子操作建立原子操作库。
CN201110448239.1A 2011-12-28 2011-12-28 一种任务逻辑库生成方法和系统、数据处理方法和系统 Expired - Fee Related CN102542047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110448239.1A CN102542047B (zh) 2011-12-28 2011-12-28 一种任务逻辑库生成方法和系统、数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110448239.1A CN102542047B (zh) 2011-12-28 2011-12-28 一种任务逻辑库生成方法和系统、数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN102542047A CN102542047A (zh) 2012-07-04
CN102542047B true CN102542047B (zh) 2016-08-03

Family

ID=46348926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110448239.1A Expired - Fee Related CN102542047B (zh) 2011-12-28 2011-12-28 一种任务逻辑库生成方法和系统、数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN102542047B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605568B (zh) * 2013-10-29 2017-10-31 北京奇虎科技有限公司 一种多线程管理方法及装置
CN103885365B (zh) * 2014-03-24 2018-07-06 三和智控(北京)系统集成有限公司 一种动态管理控制逻辑集的方法
CN104360905B (zh) * 2014-10-29 2019-01-29 中国建设银行股份有限公司 一种应用于it系统的自适应控制方法和装置
CN105809302B (zh) * 2014-12-29 2019-11-12 中国科学院沈阳自动化研究所 一种基于cep推理引擎的产线调度方法和系统
CN106168983B (zh) * 2016-08-08 2019-12-20 中国农业银行股份有限公司 一种混合资源处理方法及装置
CN107784479A (zh) * 2017-02-16 2018-03-09 平安科技(深圳)有限公司 一种业务流程处理方法和装置
CN110007967B (zh) * 2017-12-29 2022-05-06 杭州海康威视数字技术股份有限公司 一种基于流式框架的数据处理方法、装置及设备
CN110609707B (zh) * 2018-06-14 2021-11-02 北京嘀嘀无限科技发展有限公司 在线数据处理系统生成方法、装置及设备
CN110798366B (zh) * 2018-08-01 2023-02-24 阿里巴巴集团控股有限公司 任务逻辑的处理方法、装置及设备
CN111267089A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作原子的生成与执行方法及装置、设备和存储介质
CN111506309B (zh) * 2020-03-16 2023-10-24 北京嘀嘀无限科技发展有限公司 任务执行方法和系统、计算机可读存储介质
CN114579215A (zh) * 2022-03-07 2022-06-03 首约科技(北京)有限公司 一种程序执行逻辑和顺序的自动控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071480A (zh) * 2007-06-15 2007-11-14 南京联创科技股份有限公司 复杂业务系统中基于工作流的通用构件化流程调度方法
EP1770686B1 (en) * 2005-09-28 2009-06-24 Robert Bosch Corporation Method of and system for parameterizing dialog systems for the purpose of branding
US7965275B1 (en) * 2006-01-13 2011-06-21 Intuit Inc. User interface for lenient exception feedback
CN102270127A (zh) * 2011-05-30 2011-12-07 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1770686B1 (en) * 2005-09-28 2009-06-24 Robert Bosch Corporation Method of and system for parameterizing dialog systems for the purpose of branding
US7965275B1 (en) * 2006-01-13 2011-06-21 Intuit Inc. User interface for lenient exception feedback
CN101071480A (zh) * 2007-06-15 2007-11-14 南京联创科技股份有限公司 复杂业务系统中基于工作流的通用构件化流程调度方法
CN102270127A (zh) * 2011-05-30 2011-12-07 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法

Also Published As

Publication number Publication date
CN102542047A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN102542047B (zh) 一种任务逻辑库生成方法和系统、数据处理方法和系统
US10074206B1 (en) Network-optimized graphics library for virtualized graphics processing
US9996323B2 (en) Methods and systems for utilizing bytecode in an on-demand service environment including providing multi-tenant runtime environments and systems
US9354944B2 (en) Mapping processing logic having data-parallel threads across processors
CN101421711B (zh) 用于资源受限设备的虚拟执行系统
TWI556173B (zh) 支援無虛擬機器監控器介入的虛擬機器監控器組態服務之調用的指令集的方法、處理器及機器可讀媒體
JP5733860B2 (ja) 依存問題の効率的並列計算
US20170206245A1 (en) System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform
US7830387B2 (en) Parallel engine support in display driver model
US8601456B2 (en) Software transactional protection of managed pointers
CN104025185A (zh) 用于使用gpu控制器来预加载缓存的机制
EP2058735A1 (en) System and method of executing a dynamic program in a structured environment
US10013478B2 (en) System and method for modular business applications
JP2011527788A5 (zh)
KR102338849B1 (ko) 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템
US8271768B2 (en) Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions
CN110597606A (zh) 一种高速缓存友好的用户级线程调度方法
US20160124645A1 (en) Visualizations of memory layouts in software programs
US9424080B2 (en) Systems and methods for utilizing futures for constructing scalable shared data structures
CN110795150A (zh) 依dmb操作用加载/存储操作实施加载撷取/存储释放指令
CN103152433B (zh) 一种分布式服务端的使用、交互和请求处理方法
CN103631645A (zh) 一种基于数字医疗的数字家庭中间件系统
US10275154B2 (en) Building memory layouts in software programs
WO2019105565A1 (en) Systems for compiling and executing code within one or more virtual memory pages
US20130263141A1 (en) Visibility Ordering in a Memory Model for a Unified Computing System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160513

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220718

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803