一种处理操作请求的方法、装置及业务系统的制作方法

文档序号:6335981阅读:152来源:国知局
专利名称:一种处理操作请求的方法、装置及业务系统的制作方法
技术领域
本发明属于计算机软件领域,尤其涉及一种处理操作请求的方法、装置及业务系统。
背景技术
现有技术中,用户响应的处理,大多是每次只能处理一个,有多个相应的情况下, 也是按照一定的规则进行排队后处理,即串行处理。串行处理每次只能处理一个响应,若是有大量的项目需要进行处理,每个项目都需要一定时间去处理,这时,串行处理的速度就很慢,大大降低了效率。因此,引入了多线程的概念,即建立多个线程并行处理用户的响应,能够同步运行多项任务。然而,现行的多线程并不能有效地进行配置和调度,若并行运行的线程过少,则可能会造成后续任务的长期等待,若并行线程过多,则在任务不多时浪费资源,而使线程不能得到有效的动态配置。此外,在构建服务应用程序配置参数发生变化时,因无法有效地对线程进行动态配置,而需要重启构建服务器应用程序时,不得不停止正在运行的任务,给用户带来极大不便,且大大影响了性能。

发明内容
本发明实施例的目的在于提供一种可动态构建线程的处理操作请求的方法,旨在解决不能动态地构建线程处理操作请求,且构建服务应用程序配置参数发生变化时,需要重启构建服务器应用程序的问题。本发明实施例是这样实现的,一种处理操作请求的方法,所述方法包括下述步骤构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。本发明实施例的另一目的在于提供一种处理操作请求的装置,所述装置包括监听单元,构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;配置执行单元,用于当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;操作请求处理单元,用于当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。本发明实施例另一目的在于提供一种包含所述处理操作请求的装置的业务系统。经由上述的技术方案可知,与现有技术相比,本发明一种处理操作请求的方法、装置及业务系统,通过同时接收配置参数消息及操作请求消息,并根据接收到的配置参数消息动态执行配置操作的方法,能够动态地、可配置地构建线程处理客户端传入的操作请求消息。当需要变化处理的任务时,可通过配置参数简单实现,而不需要修改程序源代码。且即使配置参数修改了也不需要重新启动构建服务器,从而不会影响当前的工作任务,可见上述操作请求的处理方法即方便又灵活。且多线程并行执行操作请求消息的方式,大大提高了执行效率。同时,返回构建服务器状态使得用户能够实时掌握构建服务器端线程及队列的情况,并根据所接收到的构建服务器状态,更新配置参数后传递给构建服务器,以更好地实现线程及队列的部署。


图1是本发明第一实施例提供的处理操作请求的方法的流程图;图2是本发明第二实施例提供的处理操作请求的方法的流程图;图3是本发明第一实施例提供的构建线程的流程的流程图;图4是本发明第一实施例提供的线程处理构建请求的流程的流程图;图5是本发明实施例提供的处理操作请求的装置的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,构建服务器通过接收由用户端传入的配置参数消息及客户端传入的操作请求消息,在接收配置参数消息后执行配置处理来动态地、可配置地构建线程处理客户端传入的操作请求消息。所述方法包括构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。所述装置包括监听单元,构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;配置执行单元,用于当所述息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;操作请求处理单元,用于当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一图1示出了本发明第一实施例提供的处理操作请求的方法的流程,详述如下在步骤SlOl中,构建服务器监听消息,所述消息为参数配置消息或者操作请求消肩、ο
在本发明实施例中,所述消息可以为Socket消息、文件内容消息、数据库消息、 内存消息、状态变化等不同消息类型中的一种,通过监听可识别所述消息的类别。此处以 Socket消息为例来详细说明其实现过程,但并不限于Socket消息。下面将以Socket消息为例说明此步骤的实现过程。在本发明实施例中,构建服务器首先构建一个监听程序和外界进行通信,通过监听程序接收用户端传入的配置参数消息和客户端传入的操作请求消息。在本发明实施例中,用户端在接收到用户启动程序的请求后,启动一个程序读取配置文件,然后通过Socket连接到构建服务器,将配置参数消息传给构建服务器。所述配置参数消息为构建服务器构建线程及处理操作的参考信息;而且所述配置参数消息可由用户预先设置,例如用户可设置并行线程最大数量、修改并行线程最大数量、增加构建队列、 删除构建队列、构建服务器监控信息等配置参数消息。在本发明实施例中,所述操作请求消息由客户端传入构建服务器。所述操作请求消息为客户端需要构建服务器所执行的操作的请求,如复制请求、删除请求等。在步骤S102中,当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理。在本发明实施例中,所述配置参数消息包括但不限于设置并行线程最大数量、修改并行线程最大数量、增加构建队列、删除构建队列、构建服务器监控信息等消息。根据接收到的配置参数消息,执行相应的配置处理,从而能够动态地、可配置地构建线程处理客户端传入的操作请求消息。当需要变化处理的任务时,可通过配置参数简单实现,而不需要修改程序源代码,且即使修改了配置参数也不需要重新启动构建服务器,从而不会影响当前的工作任务,可见上述操作请求的处理方法即方便又灵活。以下用五个例子来详细阐述,但并不限于这五个例子。例如1、当接收到的配置参数消息是并行线程最大数量时,记录所述最大数量值,将所述最大数量值作为收到客户端发出的操作请求消息后判断是否超过并行线程最大数量的参考值。2、当接收到的配置参数消息是创建缓存配置参数消息的队列时,创建一个和配置参数消息类型相匹配的队列,以用来缓存后续收到的配置参数消息。3、当所述参数配置消息为设置并行线程最大数量或者修改并行线程最大数量时, 将构建服务器中并行线程最大数量设置为指定值或者更新为指定值。4、当接收到的配置参数消息是增加或删除相应的构建队列时,执行增加或删除相应的构建队列的配置操作。所述队列用于缓存操作请求消息,且该队列有多种类型,每种类型的队列用于缓存相应类型的操作请求消息。5、当所述参数配置消息为查询构建服务器状态监控信息时,检测构建服务器的状态,并将构建服务器的状态返回至查询者。在本发明实施例中,构建服务器状态返回主要是指构建服务器在运行当中线程及队列的基本情况,如有多少个队列、每类队列的最大并行线程数量、每类队列中有多少个等待执行的任务、每类队列有多少个正在执行的线程等情况。这些值在监听程序中都用相应的对象来存放,线程在处理完构建任务后,会根据情况来更新这些对象的值,构建服务器的监听程序在收到状态监控消息时,就将这些值返回给相应的查询者。在本发明实施例中,返回构建服务器状态使得用户能够实时掌握构建服务器端线程及队列的情况,并根据所接收到的构建服务器状态,更新配置参数后传递给构建服务器, 以更好地实现线程及队列的部署。在步骤S103中,当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。在本发明实施例中,接收到的消息是操作请求消息时,构建相应线程处理操作请求消息,若接收到操作请求消息时,且正在运行的线程数超过了并行线程最大数量,则将操作请求消息放于队列中。然后,根据操作请求消息类型的不同建立多个队列,用于放置同一类等待处理的操作请求消息,例如等待处理的复制请求全部放置在一个队列中,等待处理的粘贴请求全部放置在另一个队列中。本步骤的具体实现详见图3及图4,在此就不再赘述了。在本发明实施例中,通过同时接收配置参数消息及操作请求消息,并根据接收到的配置参数消息动态执行配置操作的方法,能够动态地、可配置地构建线程处理客户端传入的操作请求消息。当需要变化处理的任务时,可通过配置参数简单实现,而不需要修改程序源代码。且即使配置参数修改了也不需要重新启动构建服务器,从而不会影响当前的工作任务,可见上述操作请求的处理方法即方便又灵活。且多线程并行执行操作请求消息的方式,大大提高了执行效率。实施例二 图2示出了本发明第二实施例提供的处理操作请求的方法的流程,详述如下在步骤S201中,构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;在步骤S202中,构建服务器读取消息格式配置文件,获取参数配置消息的格式定义和操作请求消息的格式定义。在本发明实施例中,从消息格式配置文件中获取参数配置消息和操作请求消息的格式定义,所述消息格式配置文件中存储了配置参数消息和操作请求消息的格式定义。构建服务器在监听到消息后根据消息格式配置文件中的参数配置消息的格式定义和操作请求消息的格式定义将监听到的消息解析为参数配置消息或者操作请求消息。所述配置文件可以为文件、XML、Properties等格式的文档。格式定义举例如下para:[add|modify|delete]paraNameparaValuerequest[build|patch|output]:projectName其中,para: [add |modify | delete] :paraName:paraValue 是定义构建月艮务器需要的参数类型格式,para表示配置参数,add表示新增操作,modify表示修改操作,delete表示删除操作。此处仅以这三种操作方式为例,并不限于这三种操作方式。在具体的配置消息中,从这三种操作方式中选取一种。paraName表示具体的参数名称,paraValue表示具体的参数值。request: [build | patch | output] :projectName 是指业务请求类的消息,艮口具体要做什么事情。bui 1 d表示创建,patch表示补丁,output表示输出,在本发明实施例中,仅以build、patch、output这三种类型的任务为例,但并不限于这三种。projectNam表示和业务任务相关联的项目名称。此格式定义是用正则表达式的方式来定义的,[]表示取值范围,I表示或者,表示消息中字段值的分隔符。在本发明实施例中,配置参数消息和操作请求消息都按这种格式发送。在步骤S203中,当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;在步骤S204中,当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。实施例三在本发明实施例中,当接收到操作请求消息时,根据操作请求消息类型定义获取接收到的操作请求消息的类型,并根据操作请求消息的类型构建相应的线程处理操作请求消息。其中,根据操作请求消息的类型构建相应的线程处理操作请求消息的具体实现可分为两个部分,一部分为根据操作请求消息的类型构建相应的线程;另一部分为构建线程处理操作请求消息。图3示出了本发明实施例提供的根据操作请求消息的类型构建相应线程的流程, 如下所述在步骤S301中,判断当前正在运行的线程数量是否超过并行线程最大数量,若是,则执行步骤S302,否则执行步骤S303,所述线程处理的操作请求与接收到的操作请求消息类型相同。在本发明实施例中,所述并行线程的最大数量从配置参数消息中获得。将当前队列中正在运行的线程数量与并行线程最大数量进行比较来判断当前正在运行的线程数量是否超过并行线程最大数量,所述线程处理的操作请求与接收到的操作请求消息类型相同。在步骤S302中,将操作请求消息添加到相应类型的队列中。在本发明实施例中,若当前正在运行的线程数量超过并行线程最大数量,则不能再建新的线程处理所述操作请求消息,因此只能将客户端发出的操作请求消息添加到相应类型的队列中。队列根据操作请求消息类型的不同建立,用于放置等待处理的同一类型的操作请求消息。若当前接收到的操作请求消息为复制请求,但当前正在运行的用于处理复制请求的线程数量超过了并行线程最大数量,则将所述复制请求添加到所述用于放置等待处理的复制请求的队列中。在步骤S303中,构建一个新的线程,并将当前正在运行的线程数量加一。在本发明实施例中,若当前正在运行的线程数量没有超过设置并行构建线程最大数量,则构建一个新的线程处理客户端发出的请求。并将当前正在运行的线程数量加一。以确保当前正在运行的线程数量正确。在本发明实施例中,线程构建好之后,开始处理构建请求,其详细过程如下所述, 如图4所示。在步骤S401中,处理当前的操作请求消息;在本发明实施例中,线程首先会处理构建服务器第一次创建所述线程时指定的操作请求消息。在步骤S402中,检查用于存放与所述操作请求消息类型相同的操作请求消息的队列是否为空,若是则执行步骤S403,否则执行步骤S404。在本发明实施例中,在处理完构建服务器第一次创建线程时指定的操作请求消息后,线程开始检查队列是否为空,即队列中是否还有未处理完的操作请求消息,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息。在步骤S403中,将当前正在运行的线程数量减一后退出。在本发明实施例中,若所述队列为空,则线程将当前正在运行的构建线程数量减一后退出。在步骤S404中,从所述队列中调用一个操作请求消息进行处理,同时将被调用的操作请求消息从所述队列中删除。然后返回执行步骤S402。在本发明实施例中,直到线程检查到队列为空后将当前正在运行的线程数量减一后退出。实施例四图5示出了本发明实施例提供的处理操作请求的装置的结构,为了便于说明,仅示出了与本发明实施例相关的部份。该装置可以是内置于业务系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到业务系统或业务系统的应用系统中。其中监听单元501,构建服务器用于监听消息,所述消息为参数配置消息或者操作请求消息。格式定义获取单元502,构建服务器用于读取消息格式配置文件,获取参数配置消息的格式信息和操作请求消息的格式定义。配置执行单元503,用于当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理。操作请求处理单元504,当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。在本发明实施例中,操作请求处理单元504又分为五个模块,分别为队列更新模块505,用于在当前正在运行的线程数量超过并行线程最大数量时,将所述操作请求消息添加到相应类型的队列中,所述线程处理的操作请求与接收到的操作请求消息类型相同;线程构建模块506,用于在当前正在运行的线程数量未超过并行线程最大数量时, 构建一个新的线程,并将当前正在运行的线程数量加一,所述线程处理的操作请求与接收到的操作请求消息类型相同。当前请求处理模块507,处理当前的操作请求消息。线程退出模块508,用于当检查到队列为空时,将当前正在运行的线程数量减一后退出,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息。操作请求处理模块509,用于当检查到队列不为空时,从所述队列中调用一个操作请求消息进行处理,同时将所述被调用的操作请求消息从所述队列中删除,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息。
在本发明实施例中,通过同时接收配置参数消息及操作请求消息,并根据接收到的配置参数消息动态执行配置操作的方法,能够动态地、可配置地构建线程处理客户端传入的操作请求消息。当需要变化处理的任务时,可通过配置参数简单实现,而不需要修改程序源代码。且即使配置参数修改了也不需要重新启动构建服务器,从而不会影响当前的工作任务,可见上述操作请求的处理方法即方便又灵活。且多线程并行执行操作请求消息的方式,大大提高了执行效率。同时,返回构建服务器状态使得用户能够实时掌握构建服务器端线程及队列的情况,并根据所接收到的构建服务器状态,更新配置参数后传递给构建服务器,以更好地实现线程及队列的部署。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种处理操作请求的方法,其特征在于,所述方法包括下述步骤构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。
2.如权利要求1所述的方法,其特征在于,在所述构建服务器监听消息的步骤之后,所述方法还包括下述步骤构建服务器读取消息格式配置文件,获取参数配置消息的格式定义和操作请求消息的格式定义;构建服务器根据消息格式配置文件中的参数配置消息的格式定义和操作请求消息的格式定义将监听到的消息解析为参数配置消息或者操作请求消息。
3.如权利要求1或2所述的方法,其特征在于,所述参数配置消息为设置并行线程最大数量、修改并行线程最大数量、增加构建队列、删除构建队列、查询构建服务器监控信息中的一种或者多种组合。
4.如权利要求3所述的方法,其特征在于,所述根据参数配置消息对构建服务器进行相应的配置处理的步骤具体为当接收到的配置参数消息是并行线程最大数量时,记录所述最大数量值,将所述最大数量值作为收到客户端发出的操作请求消息后判断是否超过并行线程最大数量的参考值;当接收到的配置参数消息是创建缓存配置参数消息的队列时,创建一个和配置参数消息类型相匹配的队列,以用来缓存后续收到的配置参数消息;当所述参数配置消息为设置并行线程最大数量或者修改并行线程最大数量时,将构建服务器中并行线程最大数量设置为指定值或者更新为指定值;当所述参数配置消息为增加构建队列或者删除构建队列时,增加或者删除指定的构建队列;当所述参数配置消息为查询构建服务器状态监控信息时,检测构建服务器状态并将构建服务器的状态返回至查询者。
5.如权利要求1所述的方法,其特征在于,所述根据操作请求消息的类型构建相应的线程处理所述操作请求消息的步骤具体为若当前正在运行的线程数量超过并行线程最大数量,则将所述操作请求消息添加到相应类型的队列中,所述线程处理的操作请求与所述操作请求消息类型相同;若当前正在运行的线程数量未超过并行线程最大数量,则构建一个新的线程,并将当前正在运行的线程数量加一,所述线程处理的操作请求与所述操作请求消息类型相同。
6.如权利要求1所述的方法,其特征在于,所述根据操作请求消息的类型构建相应的线程处理所述操作请求消息的步骤具体为处理当前的操作请求消息;若检查到队列为空,则将当前正在运行的线程数量减一后退出,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息;若检查到队列不为空,则从所述队列中调用一个操作请求消息进行处理,同时将所述被调用的操作请求消息从所述队列中删除,然后返回执行步骤处理当前的操作请求消息, 所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息。
7.—种处理操作请求的装置,其特征在于,所述装置包括监听单元,构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;配置执行单元,用于当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;操作请求处理单元,用于当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。
8.如权利要求7所述的装置,其特征在于,所述操作请求处理单元还包括队列更新模块,用于在当前正在运行的线程数量超过并行线程最大数量时,将所述操作请求消息添加到相应类型的队列中,所述线程处理的操作请求与所述操作请求消息类型相同;线程构建模块,用于在当前正在运行的线程数量未超过并行线程最大数量时,构建一个新的线程,并将当前正在运行的线程数量加一,所述线程处理的操作请求与所述操作请求消息类型相同。
9.如权利要求8所述的装置,其特征在于,所述操作请求处理单元还包括当前请求处理模块,处理当前的操作请求消息;线程退出模块,用于当检查到队列为空时,将当前正在运行的线程数量减一后退出,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息;操作请求处理模块,用于当检查到队列不为空时,从所述队列中调用一个操作请求消息进行处理,同时将所述被调用的操作请求消息从所述队列中删除,然后返回执行步骤处理当前的操作请求消息,所述队列用于存放与接收到的操作请求消息类型相同的操作请求消息。
10.一种业务系统,其特征在于,所述系统包括权利要求7至9任一权利要求所述的处理操作请求的装置。
全文摘要
本发明适用于计算机软件领域,提供了一种处理操作请求的方法、装置及业务系统,该方法包括下述步骤构建服务器监听消息,所述消息为参数配置消息或者操作请求消息;当所述消息为参数配置消息时,根据参数配置消息对构建服务器进行相应的配置处理;当所述消息为操作请求消息时,根据操作请求消息的类型构建相应的线程处理所述操作请求消息。通过同时接收配置参数消息及操作请求消息,并根据接收到的配置参数消息动态执行配置操作的方法,能够动态地、可配置地构建线程处理客户端传入的操作请求消息。即使配置参数修改了也不需要重新启动构建服务器,从而不会影响当前的工作任务,可见上述操作请求的处理方法即方便又灵活。
文档编号G06F9/48GK102467412SQ20101054634
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者刘继平 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1