资源预订请求处理方法及装置与流程

文档序号:13165466阅读:154来源:国知局
资源预订请求处理方法及装置与流程

本申请涉及互联网技术,特别涉及一种资源预订请求处理方法及装置。



背景技术:

随着互联网技术的发展,以往需要通过传统的书面或者电话媒介实现的客户向网络资源提供者请求资源预留的过程如今都可以通过互联网以电子信息交互的方式实现。在处理短时间内收到大量的资源预订请求时,目前的处理机制耗时较长,处理效率低下。



技术实现要素:

本申请实施例提供了一种资源预订请求的处理方法和装置,可以缩短多个资源预订请求的整体处理时间,提高处理效率。

一种资源预订请求的处理方法可以包括:

收到资源预订请求时,判断上一个资源预订请求是否执行完毕;

如果上一个资源预订请求已执行完毕,为该资源预订请求分配版本号,记录当前的资源数据,以当前的资源数据为基础执行所述资源预订请求;

如果上一个资源预订请求尚未执行完毕,将所述上一个资源预订请求和所述资源预订请求合并为第二资源预订请求;

为所述第二资源预订请求分配比所述上一个资源预订请求更高的版本号,以记录的资源数据为基础执行所述第二资源预订请求;

所述第二资源预订请求执行完毕时,判断所述第二资源预订请求的版本号是否高于当前的资源数据的版本号,如果所述第二资源预订请求的版本号高于当前的资源数据的版本号,则利用执行所述第二资源预订请求生成的所述第二资源数据更新当前的资源数据,并将当前的资源数据的版本号更新为所述第二资源预订请求的版本号。

一种资源预订请求的处理装置可以包括:

请求处理模块,用于在收到资源预订请求时,判断上一个资源预订请求是否执行完毕;如果上一个资源预订请求已执行完毕,为该资源预订请求分配版本号,记录当前的资源数据,以当前的资源数据为基础执行所述资源预订请求;如果上一个资源预订请求尚未执行完毕,将所述上一个资源预订请求和所述资源预订请求合并为第二资源预订请求,为所述第二资源预订请求分配比所述上一个资源预订请求更高的版本号,以记录的资源数据为基础执行所述第二资源预订请求;

资源更新模块,用于当所述第二资源预订请求执行完毕时,判断所述第二资源预订请求的版本号是否高于当前的资源数据的版本号,如果所述第二资源预订请求的版本号高于当前的资源数据的版本号,则利用执行所述第二资源预订请求生成的第二资源数据更新当前的资源数据,并将当前的资源数据的版本号更新为所述第二资源预订请求的版本号。

从以上技术方案可以看出,本申请实施例通过对资源预订请求进行合并处理,不必等之前的请求处理完毕就可以将新的请求送入执行逻辑,从而缩短了多个资源预订请求的整体处理时间,提高了处理效率。

附图说明

图1为本发明实施例的一种资源预订请求的处理方法的流程图;

图2为本发明实施例的一种资源预订请求的处理方法的流程图;

图3为本发明实施例的一种资源预订系统的示意图;

图4为本发明实施例的媒体推送资源预订请求处理方法的流程图;

图5为根据现有技术方案处理多个请求时的时序示意图;

图6为根据图4例子的方案处理多个请求时在的时序示意图;

图7为本发明实施例的一种资源预订请求的处理装置的示意图。

具体实施方式

为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。

图1为本发明实施例的一种资源预订请求的处理方法的流程图。如图1所示,该方法10可以包括以下步骤。

步骤s11,收到资源预订请求时,判断上一个资源预订请求是否执行完毕。

步骤s12,如果上一个资源预订请求已执行完毕,为该资源预订请求分配版本号,记录当前的资源数据,以当前的资源数据为基础执行所述资源预订请求。

步骤s13,如果上一个资源预订请求尚未执行完毕,将所述上一个资源预订请求和所述资源预订请求合并为第二资源预订请求,为所述第二资源预订请求分配比所述上一个资源预订请求更高的版本号,以记录的资源数据为基础执行所述第二资源预订请求。

步骤s14,第二资源预订请求执行完毕时,判断所述第二资源预订请求的版本号是否高于当前的资源数据的版本号;如果所述第二资源预订请求的版本号高于当前的资源数据的版本号,则利用执行所述第二资源预订请求生成的所述第二资源数据更新当前的资源数据,并将当前的资源数据的版本号更新为所述第二资源预订请求的版本号。

这样,由于对多个请求进行了合并处理,使得多个请求可以被同时调度和执行,加快了多个请求的整体处理速度,缩短了多个请求的整体处理时间,提高了处理效率。并且,由于引入了版本控制,使得多个请求同时处理的情况下仍然能够保证资源预留结果的正确性。

一些实施例中,在通过请求的合并处理缩短多个请求的整体处理时间的同时,可以对参与合并的请求的个数进行限制,使得同时只有少于某阈值的请求被合并处理,可以进一步提高处理效率。图2为本发明实施例的一种资源预订请求的处理方法的流程图。如图2所示,该方法20可以包括以下步骤。

步骤s21,收到资源预订请求时,如果上一个资源预订请求尚未执行完毕,判断当前参与合并的请求个数是否小于预设的阈值。

当前参与合并的请求个数是指,到上一个收到的资源预订请求为止,被合并生成上一个资源预订请求的请求个数。一些例子中,可以获取上一个资源预订请求中的请求个数作为所述当前参与合并的请求个数。例如,上一个资源预订请求包括请求a,请求b和请求c,则当前参与合并的请求个数为3。一些例子中,可以记录参与合并的请求个数,当参与合并的请求均执行完毕时,将所述参与合并的请求个数恢复为初始值。例如,假设初始值为0,收到请求a时,前一个请求已执行完毕,则执行a,将记录的参与合并的请求个数加1;请求a执行完毕之前收到请求b,生成合并的请求{a,b},将参与合并的请求个数加1,即个数为2;请求{a,b}执行完毕之前收到请求c,生成合并的请求{a,b,c},将参与合并的请求个数加1,即个数为3,以此类推。当上一个资源预订请求执行完毕时,将记录的参与合并的请求个数恢复为初始值0。

预设的阈值可以根据多方面的参数来确定,例如,系统的处理能力、供预订的资源量、统计的客户下单时间分布情况、资源预订请求的并发数量统计结果等。

步骤s22,如果当前参与合并的请求个数小于所述阈值,将上一个资源预订请求和该收到的资源预订请求合并为第二资源预订请求,为所述第二资源预订请求分配比所述上一个资源预订请求更高的版本号,以记录的资源数据为基础执行所述第二资源预订请求。

执行完第二资源预订请求后可以根据分配的版本号确定是否更新当前的资源数据,这些步骤可以与上述步骤s14相似。

一些例子中,如果当前参与合并的请求个数不小于所述阈值,可以将该收到的资源预订请求加入一个等待队列。上一个资源预订请求被执行完毕时,将记录的参与合并的请求个数恢复为初始值,从等待队列中收取资源预订请求,同样按照上述流程进行处理即可,这里不再赘述。

资源预订请求是指用户发送的用于请求预留资源的消息。资源是指可用于生产、生活、或其它活动的资料。一些例子中,资源可以是某种实体物品或虚拟物品,例如书籍、服装、家电、汽车等实体商品,或电子充值卡、游戏装备、软件序列号、电子书、音乐等虚拟商品。一些例子中,资源可以是某种服务,例如保洁、酒店预订、上门维修服务等现实的服务,也可以是诸如网络存储、网络媒体推送、网页设计等数字化的虚拟服务。其它例子中,资源也可以是其它数字化的或非数字化的商品。

资源预订请求中可以包括请求预留的资源的量,即预订量。预订量的单位与资源的种类有关。例如,预订量可以是商品的数量、网络服务的带宽、网络服务的数据流量、网络存储空间的大小,等。又例如,当资源是媒体推送服务时,预订量可以是媒体推送的曝光次数、曝光时间长度等。一些例子中,资源预订请求中还可以包括请求预留的资源的描述信息。资源的描述信息指出请求预留的资源的特征,例如资源预留系统提供的该资源的标识或所属的分类等,或商品的属性,如颜色、尺码、型号等,或者服务的时间、地理区域、提供服务的平台、提供服务的方式,等。例如,当资源为媒体推送服务时,资源的描述信息可以包括请求预留的媒体推送资源的限定条件,例如媒体推送的时间段、媒体推送的地区范围、媒体推送的目标人群描述(例如职业、年龄范围、兴趣等)、媒体推送的方式(如网页推送方式、流媒体推送方式,等)、媒体推送的平台(如社交平台、流媒体服务平台、新闻平台等),等。一些例子中,资源预订请求还可以包括发送该请求的用户的信息,例如用户名、用户账号、用户编号、用户的优先级,等。

本发明各实施例的方法可以由提供资源预订服务的设备来执行,例如可以由一台服务器执行,或者是多台服务器互相配合来执行。一些例子中,设备可以利用用于执行请求的某个模块或者元件或者设备反馈的执行结果或者生成的日志信息来判断一个资源预订请求是否已经执行完毕。其它例子中,设备也可以利用某种专门设计的机制来判断一个资源预订请求是否已经执行完毕。

资源数据是指在提供资源预订的系统或者平台中,可用资源的统计信息。例如,资源数据可以包括所有可被客户使用的资源的信息,未被预留的资源的信息,已经被预留的资源的信息,等。一些例子中,资源数据可以有多组。例如,可以按照资源被提供的时间对资源数据进行分组,例如各月份的资源的统计数据、各季度的资源的统计数据,等。又例如,可以按照资源被提供的地理区域对资源数据进行分组,例如,向各个城市或省或国家提供的资源的统计数据、预先定义的多个区域(例如华北地区、华东地区,等)的资源数据。再例如,还可以按照提供资源的平台对资源数据进行分组,例如通过社交平台提供的资源的统计数据、通过流媒体服务平台提供的资源的统计数据、通过网络存储平台提供个资源的统计数据,等。其它例子中,资源数据还可以依据其它的因素或者两种或两种以上因素的组合进行分组,例如,针对某一区域、某一时间段内在某个平台上的媒体推送资源,等。

资源数据可以保存在一个或多个存储设备中,可以以各种可用的形式存储,例如数据库、表单等。当前的资源数据是指当前时间,存储设备中维护的资源数据,例如当前的数据库或表单中存储的资源数据。记录的资源数据是指在某个时间点,将当时数据库或表单中存储的资源数据的全部或者一部分单独保存在另一个存储空间中,作为对当时的资源数据的情况的记录,供后续步骤进行查阅。这份单独记录的某个时间点的资源数据不会随着数据库或表单中数据的更改而更改,只会在专门访问该记录的资源数据的步骤中被读取和修改。

步骤s12中,如果上一个资源预订请求已经执行完毕,则当前的资源数据就是针对先前所有请求进行了资源预留后的资源的统计数据,因此,当前的资源预订请求可以在当前的资源数据基础上执行。记录当前的资源数据可以供可能出现的后续的合并得到的新请求使用。

步骤s13中的合并步骤是指将上一个资源预订请求和新收到的该资源预订请求中的预订信息均包括在合并后生成的第二资源预订请求中,也即,第二资源预订请求中不仅包括新收到的预订请求中的预订信息,也包括上一个资源预订请求中的预订信息。这样,执行该合并后的资源预订请求的效果与依次执行各个被合并的资源预订请求的效果一致。一些例子中,被执行的各个资源预订请求可以分别被调度,并由不同的执行逻辑来执行。这些执行逻辑可以由进程、线程或类似的机制来实现,即每次执行一个资源预订请求时,则新建一个执行逻辑来执行该资源预订请求。一些例子中,被执行的各个资源预订请求可以被不同的物理元件处理,例如不同的物理设备、同一设备中不同的处理器,或者同一处理器的不同的核,等。根据系统的各种机制,例如调度机制等,在后被执行的请求被执行完毕的时间可能早于某个在前被执行的请求。因此,本发明各实施例的多请求并行执行的方案能够缩短短时间内收到的多个请求被执行所需的时间,提高请求的执行效率。

一些例子中,合并资源预订请求时,可以将收到的请求与上一个未执行完的请求直接合并,也可以仅将请求预留属于同一分组的资源的请求进行合并。例如,收到资源预订请求时,可以先确定该请求中资源所属的分组,然后判断针对同一分组的资源的上一个资源预订请求是否已经执行完毕。一些例子中,可以根据资源预订请求中的资源描述信息来确定请求预留的资源所述的分组。例如,可以根据资源预订请求中的资源标识或者资源类别确定资源所属的分组,也可以根据资源预订请求中的其它资源描述信息来确定被请求的资源所属的分组。不同分组的资源可以在存储装置中对应不同的资源数据。例如,资源预订请求中的资源描述信息表示用户请求预留的是长三角地区今年11月通过某在线视频播放平台提供的媒体推送资源,可以确定该资源所在的分组标识,例如资源组13161101。设备可以查询该资源组对应的上一个资源预订请求是否执行完毕。

一些例子中,合并资源预订请求时,可以直接将上一个资源预订请求和新收到的资源预订请求中的预订量相加,利用预订量的总和生成第二资源预订请求。例如,上一个资源预订请求要求预留120g的网络存储空间,新收到的资源预订请求要求预留50g的网络存储空间,则可以生成第二资源预订请求,其中的预订量为120g+50g=170g。执行第二资源预订请求时,可以直接从资源数据记载的资源量中扣减该请求中的预订量,根据扣减后的资源量生成第二资源数据。

另一些例子中,可以将上一个资源预订请求和新收到的资源预订请求中的预订量信息分别加入同一个资源预订请求中生成合并后的第二资源预订请求。例如,上一个资源预订请求要求预留120g的网络存储空间,新收到的资源预订请求要求预留50g的网络存储空间,则可以生成第二资源预订请求,其中包括第一预订量120g和第二预订量50g。执行第二资源预订请求时,可以从资源数据记载的资源量中扣减第二资源预订请求中的各预订量,根据扣减后的资源量生成第二资源数据。

生成的第二资源预订请求中还可以包括各个预订量对应的其它信息,例如用户信息、优先级信息,等。例如,第二资源预订请求可以包括第一用户标识和第一预订量120g、第二用户标识和第二预订量50g,当执行第二资源预订请求时,在从资源数据中扣减了第一预订量120g之后,剩余的可用资源量不足第二预订量50g,例如仅剩30g时,可以生成反馈信息或日志信息,指示第一用户的预订量被成功预留,为第二用户仅预留了30g。

又例如,第二资源预订请求可以包括各预订量对应的优先级信息,在预留资源时,高优先级的预订请求可以抢占为较低优先级的请求预留的资源。一些例子中,第二资源预订请求可以包括预设的表示优先级的数据,该数据可以包括字母、数字、符号或其任意组合。一些例子中,第二资源预订请求中可以包括各预订量对应的用户信息,可以根据用户信息获得该用户对应的优先级。在从资源数据记载的资源量中扣减第二资源预订请求中的第一预订量时,如果未被预订的资源少于所述第一预订量,则将所述资源量中已被预订的资源中优先级低于所述第一预订量对应的优先级的资源作为根据所述第一预订量被扣减的资源。这样,就可以实现高优先级的预订请求抢占为较低优先级的请求预留的资源。

一些例子中,从资源数据记载的资源量中扣减第二资源预订请求中的各预订量时,可以对所述第二资源预订请求中的各预订量根据其优先级进行排序;按照优先级从高到低的顺序,从所述记录的资源数据记载的资源量中扣减各预订量,生成所述第二资源数据。

其它例子中,第二资源预订请求还可以包括其它可能的信息,可以根据具体的需要来确定包括哪些信息。

由于第二资源预订请求中合并有上一个资源预订请求中的请求信息,第二资源预订请求需要在与上一个资源预订请求相同的资源数据基础上执行,从而保证资源预留的结果的正确性。因此,第二资源预订请求需要在先前执行上一个资源预订请求时记录的资源数据的基础上执行资源预留。例如,收到上一个资源预订请求时,当前的资源数据指示的剩余资源量为150g,则在剩余150g资源的基础上执行上一个资源预订请求,同时单独记录剩余资源量为150g。在收到当前资源预订请求时,上一个资源预订请求还没有执行完,则将上一个资源预订请求中的预订量,例如120g,加入当前资源预订请求(其中包括预订量例如50g),生成第二资源预订请求,其中有两个预订量,分别为120g和50g。此时,则读取之前单独记录的资源数据,即剩余资源量为150g,在此基础上执行第二资源预订请求,即依次扣减两个预订量,则得到的结果与分别执行两个资源预订请求是相同的。

利用执行第二资源预订请求后生成的第二资源数据更新当前的资源数据时,为了保证结果的正确,本发明实施例引入了版本控制,即后执行的合并后的请求被分配的版本号比之前的被合并的请求的版本号更高。后续步骤中,各资源预订请求被执行完毕后,需要用各自的版本号与当前的资源数据的版本号进行对比,可以用较高版本的资源数据更新较低版本的当前资源数据。

一些例子中,如果步骤s14中确定第二资源预订请求的版本号高于当前资源数据的版本号,则用执行该请求生成的第二资源数据及该请求的版本号更新当前资源数据及其版本号。

一些例子中,如果该请求的版本号低于当前资源数据的版本号,则表示在后的合并的请求已经被执行完并更新了资源数据,该请求实际上已经在在后的合并请求中被执行了,则放弃更新资源数据。另一些例子中,在执行第二资源预订请求时,还可以尝试取消执行上一个资源预订请求,取消是否成功则可能取决于上一个资源预订请求的执行进度和执行状态,例如当进入某些执行步骤或者状态,该请求则无法被取消。

例如,收到第一资源预订请求时,当时的资源数据的版本号为v0,第一资源预订请求被分配版本号v1;第一资源预订请求尚未执行完时,收到新的资源预订请求,将该资源预订请求与第一资源预订请求合并得到第二资源预订请求,并分配版本号v2;后续又收到了另一个资源预订请求,将该资源预订请求与第二资源预订请求合并后得到第三资源预订请求,并分配版本号v3。其中,版本号从高到低的顺序依次为v3,v2,v1,v0。当第二资源预订请求执行完毕时,当前的资源数据的版本有以下几种可能:

(1)v0,说明这三个请求中,第二资源预订请求最先执行完;由于v2高于v0,则利用生成的第二资源数据更新当前的资源数据,即更新资源数据库维护的资源数据;

(2)v1,说明第一资源预订请求已执行完并更新了资源数据;由于v2高于v1,则利用生成的第二资源数据更新当前的资源数据;

(3)v3,说明第三资源预订请求已执行完并更新了资源数据;由于v2低于v3,则放弃更新当前的资源数据。

下面以媒体推送资源(例如,媒体广告投放资源,等)的预订请求为例,介绍针对媒体推送资源的预订请求处理方案。图3为本发明实施例的一种资源预订系统的示意图。该系统30可以包括:服务器系统31、网络32、客户设备331~33n。

服务器系统31用于提供媒体推送资源的预订服务。服务器系统31可以包括处理器301、资源数据库302、资源预订模块303,以及通信接口304。

通信接口304可以通过网络32与客户设备33进行通信,接收客户设备33发送的各种请求,并向客户设备33反馈请求的处理结果。

资源数据库302中存储有该系统30中提供给客户的所有资源的数据(一些例子中可以是库存数据、或者资源池数据等),可以包括已被预订的资源的数据、尚未被预订的资源的数据、各部分被预订的资源对应的优先级(即预订该部分资源的客户的优先级),以及可能的其它数据,例如预订资源的客户的信息等。例如,当该服务器系统31提供某在线视频网站的媒体推送服务时,资源可以按照媒体推送的曝光次数来计数,例如,可以将每千次曝光作为一个资源单位,即客户预定1个cpm(costpermille,每千人成本),即预订了某媒体推送信息的1千次曝光。这样,资源数据库302中可以存储已被预订的cpm数量,各个被预订的cpm对应的优先级,以及未预订的cpm数量,等。客户的优先级是指,根据某种或多种因素(例如,客户的行业类型、cpm单价、合作关系的密切程度等)确定的该客户在所有客户中的重要程度。一些例子中,可以允许优先级较高的客户占有优先级较低的客户已预定的资源。

一些例子中,资源数据库302中的资源数据可以依据提供资源的时间范围、地区范围、平台等参数进行分组存储。例如,每组资源数据可以分别对应某个月份在某个地区通过某个平台提供的媒体推送资源,等。这里,平台是指提供在线视频服务的介质,例如,可以包括但不限于:pc端网页、pc客户端、移动终端客户端(包括手机客户端、平板电脑客户端等)、html5页面、电视机顶盒、游戏机(例如xbox、ps3等)、户外广告展示屏、车载广告展示屏等。一些例子中,资源数据还可以根据媒体推送的时机进行分组存储,例如,可以分为但不限于视频前、视频后、视频中。一些例子中,资源数据还可以根据媒体推送的方式进行分组存储,例如,可以分为但不限于视频方式推送、语音方式推送、字幕方式推送等。

资源预订模块303可以对通信接口304收到的资源预订请求进行处理,例如,根据收到的资源预订请求对资源数据库302中记录的广告投放资源进行库存分配,并根据处理结果更新资源数据库302中的资源数据。

处理器301可以根据资源预订模块303发出的指令实现各种运算和操作。

图4为本发明实施例的媒体推送资源预订请求处理方法的流程图。如图4所示,该方法40可以包括以下步骤。

步骤s41,服务器系统31收到客户设备331发送的预订请求req_a,确定当前参与合并的请求个数为0且小于预设阈值3,为req_a分配版本号v1,安排req_a进入执行状态,将当前参与合并的请求个数修改为1。

一些例子中,客户设备在发送预定请求之前,可以先发送资源查询请求,查询当前可供预定的资源量。服务器系统31根据客户的优先级、查询的资源描述信息等确定资源数据库302中可供该客户预定的指定分组的资源总量,例如包括该指定分组下,未预订的资源量和已被预订但优先级低于该客户优先级的资源量之和,并将确定的可用资源量反馈给客户设备。客户设备可以根据收到的可用资源量、自身的预算等因素确定需要预定的资源量,并发送资源预订请求。

步骤s42,服务器系统31收到客户设备332发送的预订请求req_b,判断当前参与合并的请求个数为1,小于预设阈值3,则将req_a和req_b合并为一个新的请求req{a,b},为req{a,b}分配版本号v2,安排req{a,b}进入执行状态,将当前参与合并的请求个数修改为2。

一些例子中,服务器系统31可以先根据预订请求req_b中的资源描述信息确定资源分组,确定针对该资源分组的上一个资源预订请求是req_a,之后再执行步骤s42。以下类似,不再赘述。

步骤s43,服务器系统31收到客户设备333发送的预订请求req_c,判断当前参与合并的请求个数为2,小于预设阈值3,则将req_c和req{a,b}合并为一个新的请求req{a,b,c},为req{a,b,c}分配版本号v3,安排req{a,b,c}进入执行状态,将当前参与合并的请求个数修改为3。

步骤s44,服务器系统31收到客户设备33n发送的预订请求req_d,判断当前参与合并的请求个数为3,不小于预设阈值3,则将req_d加入等待队列。

步骤s45,服务器系统31检测到req{a,b,c}执行完毕,将当前参与合并的请求个数修改为初始值0,从等待队列接收预订请求req_d,为req_d分配版本号v11,安排req_d进入执行状态,将当前参与合并的请求个数修改为1。

图5为根据现有技术方案处理多个请求时的时序示意图。图6为根据图4例子的方案处理多个请求时在的时序示意图。图中,t0,t1,t2,t3分别表示req_a,req_b,req_c,req_d的接收时间,t0’,t1’,t2’,t3’分别表示开始执行各请求的时间,t4表示这四个请求被执行完毕的时间。可以看出,根据该实施例,多个资源预订请求可以以“增量合并”的方式并行处理,缩短了执行多个请求所需的时间。同时,为每个资源预订请求设置一个版本号(例如,version字段),可以保证多个请求并行处理的情况下资源数据库中资源状态的正确性。

图7为本发明实施例的一种资源预订请求的处理装置的示意图。该装置可以应用在提供资源预订服务的系统,如服务器系统31中。如图7所示,该装置70可以包括处理器701、通信接口704、存储装置706和总线709。存储装置706中包括操作系统707、通信模块708、资源数据库702和资源预订模块703。

资源数据库702包括资源数据1、资源数据2、……资源数据n。其中每个资源数据对应一个资源分组的资源数据。不同分组的资源数据可以对应不同的时间范围、不同的地区范围、不同的平台,等。

资源预订模块703包括请求处理模块710和资源更新模块720。

请求处理模块710在收到资源预订请求时,判断上一个资源预订请求是否执行完毕;如果上一个资源预订请求已执行完毕,为该资源预订请求分配版本号,记录当前的资源数据,以当前的资源数据为基础执行所述资源预订请求;如果上一个资源预订请求尚未执行完毕,将所述上一个资源预订请求和所述资源预订请求合并为第二资源预订请求,为所述第二资源预订请求分配比所述上一个资源预订请求更高的版本号,以记录的资源数据为基础执行所述第二资源预订请求。

资源更新模块720在当所述第二资源预订请求执行完毕时,判断所述第二资源预订请求的版本号是否高于当前的资源数据的版本号,如果所述第二资源预订请求的版本号高于当前的资源数据的版本号,则利用执行所述第二资源预订请求生成的第二资源数据更新当前的资源数据,并将当前的资源数据的版本号更新为所述第二资源预订请求的版本号。

一些例子中,请求处理模块710可以包括:请求合并模块712和请求执行模块714。例如,请求合并模块712可以生成所述第二资源预订请求,该第二资源预订请求包括所述上一个资源预订请求中的各预订量和所述资源预订请求中的预订量;请求执行模块714可以从记录的所述资源数据记载的资源量中扣减所述第二资源预订请求中的各预订量,根据扣减后的资源量生成所述第二资源数据。

一些例子中,请求合并模块712还可以使生成的所述第二资源预订请求包括各预订量对应的优先级;请求执行模块714可以在扣减所述第二资源预订请求中的第一预订量时,如果所述资源数据记载的资源量中未被预订的资源少于所述第一预订量,则将所述资源量中已被预订的资源中优先级低于所述第一预订量对应的优先级的资源作为根据所述第一预订量被扣减的资源。

一些例子中,请求执行模块712还可以对所述第二资源预订请求中的各预订量根据其优先级进行排序;按照优先级从高到低的顺序,从所述记录的资源数据记载的资源量中扣减各预订量,生成所述第二资源数据。

一些例子中,请求处理模块710可以判断当前参与合并的请求个数是否小于预设的阈值;如果当前参与合并的请求个数小于所述阈值,执行将所述上一个资源预订请求和所述资源预订请求合并为第二资源预订请求的步骤。例如,请求处理模块710可以获取所述上一个资源预订请求中的请求个数作为所述参与合并的请求个数。又例如,请求处理模块710可以记录参与合并的请求个数,当参与合并的请求均执行完毕时,将所述参与合并的请求个数恢复为初始值。

需要注意的是,上述装置结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

本发明还提供了一种机器可读的存储介质,存储用于使一机器执行本发明实施例所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。存储介质可以包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

综上所述,权利要求的范围不应局限于以上描述的例子中的实施方式,而应当将说明书作为一个整体并给予最宽泛的解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1