聚合订单状态数据库系统中的改变的方法

文档序号:6612304阅读:130来源:国知局
专利名称:聚合订单状态数据库系统中的改变的方法
技术领域
本发明一般涉及经历聚合改变的监控系统,例如库存控制系统。更具 体地,本发明涉及对用于完成订单以及使用时间戳来监控改变聚合的订单 状态系统的实现,背景技术很多商业的一个方面是接受并且完成订单。订单通常含有标识已被请求的并且需要被用及时的方式进行处理的特定产品的行项目(lineitem)。 行项目通常含有被购买的产品的标识以及所选择的每种产品的数量。通常, 当产品变为可获得时,商业将试图满足订单。如果存在现有库存来发送 (ship),则行项目表示可以将特定的产品与不可获得以便立即发货的其 它产品分开并且独立发送。当库存变为可获得时,发送所标识的每种产品 的剩余数量以完成订单。订单和行项目是商业对象的特例。商业对象通常具有随时间而改变的 属性。跟踪这些改变是订单状态系统的主要责任之一。出于示例的目的, 所考虑的订单状态系统属性是订单号、订单状态、行号、产品、订购数量、 发货数量和发货状态。然而,本描述同样适用于通常与订单状态系统相符 的更一般的属性。图l描绘了在通过关系数据库监控时的订单的状态。在该例中,顾客 订购了五个服务器和三个硬盘驱动器。这通常被表示为具有两个行项目 14、 16的一个订单12。在关系数据库中行号10处找到行项目14,并且将 产品标识为"服务器"、订购数量为"5"、发货数量为"0",以及订单 状态为"收到"。在关系数据库中行号20处找到行项目16,并且将产品 标识为"硬盘驱动器"、订购数量为"3",发货数量为"0",以及该特
定产品的订单的状态为"收到"。订单12被标识为订单号"0001",并且 其描绘了两个附随行项目的"收到"状态。对于该例,假设存在现有库存 来发送三个服务器和两个硬盘驱动器。在收到时,就假设这些项目将被立 即发送。图2描绘了在已经发送了库存项目之后的订单状态22。因为已经 发送了一些项目,所以指明订单状态为"部分发货"。行项目24指示发送 了五个被请求的服务器中的三个,并且指示行项目状态也是"部分发货"。 行项目26示出已经发送了-皮请求的三个硬盘驱动器中的两个硬盘驱动器。 该-f亍项目也4皮指明为"部分发货"。继续该例,当另外的服务器变为可获得并且被发送时,关系数据库详 述经更新的状态。图3描绘了当发送了另外的服务器时,图2的关系数据 库输出。订单状态32将保持不变,指示0001号订单仍是"部分发货"。 行项目34现在表示所发送的另外的服务器,表明已经发送了可能的五个服 务器当中的四个。该行项目仍被列为"部分发货"。表示硬盘驱动器状态 的行项目36保持不变,并JU皮列为"部分发货"。当另一硬盘驱动器变为可获得时,再次更新关系数据库。图4描绘了 当发送了另外的^Jt驱动器时图3的关系数据库。由于整个订单仍然没有 完成(需要一个更多的服务器),因此,订单状态42保持不变。行项目 46示出硬盘驱动器订单已经完成,并且其单独的状态已经被更新成"已发 货"。行项目44令供应商知道因为还未发送第五个服务器,所以该订单在 整体上没有完成。图5描绘了当剩余服务器发送并且订单状态是完成的时侯,图4的关 系数据库输出。伴随每一单个行项目54、 56检验,订单52将指示已经发 送了 0001号订单的所有产品。通常,当订单改变时,用户监控订单部分(Order section)。然而, 当通知用户订单改变时,图2、 3和4中所描绘的订单部分(分别为24、 34和44)继续指示仅为"部分发货"状态,并且因而该订部分保持不变。 这是因为完整的订单将保持在"部分发货"状态,直到发送了所有的项目。 因此,仅监控订单表格的现有技术过程遗漏了商业对象的重要改变。

发明内容
考虑到现有技术的问题和不足,因此,本发明的目的是提供一种当订 单状态改变时通过关系数据库输出来通知用户的方法。
本发明的另一目的是提供一种用于更新关系数据库中的订单状态的方 法,该方法在行进中考虑了对特定行项目的连续更新。根据本说明书,本发明的更多其它目的和优点在某种程度上将是明显 的并且在某种程度上将是显而易见的。
在本发明中实现了对本领域的技术人员来说将是显而易见的以上和其 它目的,本发明针对的是一种聚合订单状态数据库系统中的改变的方法,其包括标识订单和当前订单状态;标识一起形成所述订单的单个行项目, 其中所述单个行项目包括请求数量、发货数量以及发货状态;应用时间戳 为所述订单以及所述单个行项目中的每一个标识初始插入时间以及更新时 间;每当更新行项目的时候,更新所述时间戳、所述当前订单状态,以及 所述行项目发货状态;以及显示具有所述插入时间戳、所述更新时间戳、 所述当前订单状态以及所述行项目发货状态的所述订单和所述单个行项 目。可以通过订单号标识所述订单。所述单个行项目可以分别与单个产品 相关联。所述当前状态订单和所述行项目发货状态包括类别,以便标识收 到的、部分发货的或者已发货的订单和行项目。所述时间戳可以包括时间 和曰期信息。更新所述行项目可以包括标识在所述订单的实现或部分实 现中已经发送所述行项目的时间和日期。该方法进一步包括每当发送了 另外的行项目时就更新所述发货数量。可以使用SQL在数据库系统软件中 实现该方法。在第二方面,本发明针对的是一种聚合订单状态数据库系统中的改变 的方法,其包括标识和显示订单级信息;标识和显示行项目信息,从而 使得单个行项目信息的总和表示总的所述订单级信息;以及实施SQL来聚 合用于所述行项目到所述订单级的时间戳。所述订单级信息可以包括订单号、订单状态、订单插入时间戳,以及
订单更新时间戳。所述行项目信息可以包括行号、产品标识符、订购数量、 发货数量、行项目状态、行项目插入时间戳,以及行项目更新时间戳。所 述订单状态可以包括类别,以便标识收到的、部分发货的或已发货的订单。 在第三方面,本发明针对的是一种机器可读的程序存储设备,具体包 括可由所述机器执行的指令程序以实现用于聚合订单状态数据库系统中的改变的方法步骤,该方法步骤包括标识订单和当前订单状态;标识一起 形成所述订单的单个行项目,其中所述单个行项目包括请求数量、发货数 量以及发货状态;应用时间戳为所述订单以及所述单个行项目中的每一个 标识初始插入时间和更新时间;每当更新行项目的时候,更新所述时间戳、 所述当前订单状态,以及所述行项目发货状态;以及显示具有所述插入时 间戳、所述更新时间戳、所述当前订单状态以及所述行项目发货状态的所 述订单和所述单个行项目。


在所附权利要求中特别阐述了被认为是新颖的本发明的特征以及本发 明的元素特性。附图仅是出于^L明的目的且并不是按比例绘制的。然而, 就^Mt的组织和方法二者而言,通过参照以下结合附图的详细描述可以最 好地理解本发明本身。在附图中图l描绘了在通过关系数据库监控时的订单的状态; 图2描绘了在已经发送了库存项目之后图l的订单状态; 图3描绘了当发送了另外的服务器时图2的关系数据库输出; 图4描绘了当发送了另外的^:驱动器时图3的关系数据库; 图5描绘了当剩余的服务器发送时图4的关序lt据库输出; 图6描绘了具有应用于订单状态和每个行项目标志的插入和更新时间 戳的订单的关系数据库表示;图7描绘了图6的订单的关系数据库输出,反映了对三个服务器和两 个硬盘驱动器立即发货;图8描绘了在稍后的时间发送另外的服务器的情况下图7的关系数据库输出;图9表示在另一硬盘驱动器变成可获得并且已经被发送之后图8的订 单;以及图10描绘了当将最后的行项目指明为已发货时本发明最终的关系数 据库输出。
具体实施方式
在描述本发明的优选实施例中,在此将参照附图中的图1-10,其中相 同的标号表示;^发明的相似的部件。本发明针对的是当仅满足订单的一部分时关系数据库状态的问题。将 两个日期/时间列添加到数据库表中的每一行。这些日期/时间列通常被称为 "时间戳",并且表示该行被插入数据库的时间,以及该行被最后更新的 时间。下面讨论上述例子在具有插入和更新时间戳的情况下的另外的实现。图6描绘了具有应用于订单状态62和每个行项目标记64、 66的插入 和更新时间戳的订单的关系数据库表示。以与现有技术例子类似的方式, 客户订购了五个服务器和三个硬盘驱动器。这被表示为具有两个行项目 64、 66的一个订单62。行项目64表示在第10行处的五个服务器。行项目 64表示在第20行处的硬盘驱动器。两个行项目均指示收到的状态以及无 发货数量。在所有的实例中,订单状态都是"收到"。订单状态62示出了 插入时间戳162a和更新时间戳162b。行项目64具有插入时间戳164a和 更新时间戳164b。行项目66具有插入时间戳166a和更新时间戳166b。 在该笫一实例中,均用类似的数据示出每个插入时间戳和更新时间戳12 月26日,12:00。以与先前的例子类似的方式,由于存在现有库存来发送三个服务器和 两个硬盘驱动器,因此立即发送这些产品并且利用所包括的更新时间戳的 附加信息相应地更新关系数据库。图7描绘了反映对三个服务器和两个硬 盘驱动器立即发货的关系数据库输出。订单状态72指示0001号订单是"部 分发货的,,,因为对于两种产品类型(行项目74、 76)而言并未完成单独
的订单。表示服务器产品的行项目74示出了对三个单元的部分发货以及 12:10的更新时间戳174b 。表示硬盘驱动器产品的行项目76反映了对两个 硬盘驱动器的部分发货,并且也包括12:10的更新时间戳176b。另一服务器变成可获得并且被发送出去。图8描绘了在稍后的时间发 送另外的服务器的情况下,图7的关系数据库输出。由于订单状态82还没 有被更新,因此其保持其时间戳182b为12/26-12:10。仅在更新了订单块 82时才相应地更新其时间戳。行项目84指示在12/27-12:20的新的更新时 间戳184b发送了另外的、第四个服务器。行项目86保持不变。根据该输 出,用户仅通过查看订单状态块82就意识到该订单仍没有完成("部分发 货")。图9表示在另一硬盘驱动器变成可获得并且已经被发送之后的图8的 订单。由于由用于服务器的行项目94所表示的订单仍未完成,因此,订单 状态块92示出该订单仍是"部分发货"。行项目96指示硬盘驱动器的发 货数量等于硬盘驱动器的订购数量,因而,将状态更新成"已发货",并 且示出用于发送最后的硬盘驱动器的更新时间戳196b为12/28-12:30。订 单状态块92描绘了对发货的最后更新,由于订单状态还未改变,因此该更 新与其先前所显示的相同。尽管已经更新了订单内的行项目,然而,除非 订单状态指明发货方面的改变,即从"部分发货"到"已发货",订单状 态块时间戳仍保持在其先前的状态。当剩余的服务器发货时,为最终的计数而更新关系数据库输出。订单 状态102描绘订单状态为"已发货",且最后的更新时间氍良映了剩余的 行项目104的最后的更新。更新行项目104以显示其状态为"已发货", 并且启动上次活动,如由更新时间戳104b所指示的。图10描绘了当将最 后的行项目指明为已发货时,本发明最终的关系数据库输出。以上标识的例子仅仅是出于示例的目的而示出的,并且本发明并不限 于所呈现的当前列在例子中的信息,例如订单号、订单状态、产品、订购 数量、发货数量、行项目状态以及时间戳。本发明可以适应于将符合用户 的信息要求的多种数据标志、产品描述符等的标识。另外,本发明可以适
用于公布改变或更新的系统,并且用于跟踪曾公布改变的最近的时间,其 公布时间。当公布改变的时候,该系统用于通过标识在最后的公布时间之 后具有更新时间戳的订单来容易地确定哪些订单已经改变。本发明的实现将在SQL中启用分级改变聚合。在分级聚合的每个级 别,利用状态指示符显示在给定信息级别或其以下级别对所有数据的最早 插入和最后更新。通过对聚合的计算机化检查,可以确定和实现改变聚合。 优选地,以下类型的算法或其它等同物可以用于将行级(line-kevel)时间 戳聚合达到订单级。WITHORDER—DATA AS (SELECT O.ID,O.ORDER—DATA_INS, O.ORDER_DATA_UPD FROMORDER一TABLE O),LINE_DATA AS (SELECT LID,LORDER_ID, L丄INE一DATA一INS, LLINE_DATA_UPD, FROMLINE一ITEM一TABLE LINNER JOIN ORDER—DATA OD ON(OD.ID= L.ORDER_ID)
),ORDER一TS AS (SELECTL.ORDER一ID,MIN(O.ORDER一DATA一INS) AS ORDER一INS TS,MAX(O.ORDER一DATA一UPD) AS ORDER—UPD一TS FROMLINE—DATA GROUP BYL.ORDER—ID)SELECT O.IDOTS.ORDER一INS一TS, OTS.ORDER一UPD一TS FROMORDER—DATA OINNER JOIN ORDER一TS OTS ON(OTS.ORDER一ID-O.ID)上述算法仅是出于示例的目的。可以采用其它的软件子例程,通过不 同的编码函数获得类似的结果。本发明并不限于任何一种特定类型的软件 代码,也不属于获得结果输出的任何一套特定的函数。用于获得结果输出的算法参与实现以下功能,或者具有等效特性的功 能a)标识订单和订单状态,其中订单状态包括插入时间戳以及更新时间 戳;b)标识一起形成订单的单个行项目(产品),每个行项目均利用单独 的插入时间戳和更新时间戳来标识请求数量、发货数量和发货状态;以及 c)每当更新行项目的时候,更新订单和行项目插入和更新时间戳。虽然已经结合具体的优选实施例特别描述了本发明,但是显然鉴于前ii 述描述,对本领域的技术人员来说,很多替换、修改和变体将是显而易见 的。因此设想所附权利要求将包括落入本发明的实际范围和精神之内的任 何这样的替换、修改和变体。
权利要求
1.一种聚合订单状态数据库系统中的改变的方法,其包括标识订单和当前订单状态;标识一起形成所述订单的单个行项目,其中所述单个行项目包括请求数量、发货数量以及发货状态;应用时间戳为所述订单以及所述单个行项目中的每一个标识初始插入时间以及更新时间;每当更新行项目的时候,更新所述时间戳和所述行项目发货状态;当所述订单状态已经改变时,更新所述当前订单状态和关联的时间戳;以及显示具有所述插入时间戳、所述更新时间戳、所述当前订单状态和所述行项目发货状态的所述订单和所述单个行项目。
2. 根据权利要求1的方法,其中通过订单号标识所述订单。
3. 根据权利要求1的方法,其中所述单个行项目分别与单个产品相关联。
4. 根据权利要求l的方法,其中所述当前状态订单和所述行项目发货 状态包括类别,以便标识收到的、部分发货的或已发货的订单和行项目。
5. 根据权利要求l的方法,其中所述时间戳包括时间和日期信息。
6. 根据权利要求1的方法,其中更新所述行项目包括标识在所述订 单的实现或部分实现中已经发送所述行项目的时间和日期。
7. 根据权利要求6的方法,其进一步包括每当发送了另外的行项目 的时候就更新所U货数量。
8. 根据权利要求l的方法,其进一步包括使用结构化查询语言在所 述数据库系统软件中实现所述方法。
9. 一种聚合订单状态数据库系统中的改变的方法,其包括 标识和显示订单级信息;标识和显示行项目信息,从而使得单个行项目信息的总和表示总的所 述订单级信息;以及实施结构化查询语言来聚合用于所述行项目和所述订单级信息的时间
10. 根据权利要求9的方法,其中所述订单级信息包括订单号、订单 状态、订单插入时间戳以及订单更新时间戳。
11. 根据权利要求9的方法,其中所述行项目信息包括行号、产品标 识符、订购数量、发货数量、行项目状态、行项目插入时间戳以及行项目 更新时间戳。
12. 根据权利要求10的方法,其中所述订单状态包括类别,以便标 识收到的、部分发货的或已发货的订单。
13. 根据权利要求11的方法,其中所述行项目状态包括类别,以便 标识收到的、部分发货的或已发货的行项目。
14. 根据权利要求9的方法,其中所述时间戳包括时间和日期信息。
15. 根据权利要求9的方法,标识在所述订单的实现或部分实现中已 经发送所述行项目的时间和日期。
16. 根据权利要求15的方法,其进一步包括每当发送了另外的行 项目的时候就更新所述发货数量。
全文摘要
一种聚合订单状态数据库系统中的改变的方法,其教导了以下方法步骤标识订单和订单状态,其中所述订单状态包括插入时间戳和更新时间戳;标识一起形成所述订单的单个行项目(产品),每个行项目利用单独的插入时间戳和更新时间戳标识请求数量、发货数量以及发货状态;以及每当更新行项目的时候,更新所述订单和行项目插入和更新时间戳。
文档编号G06Q10/00GK101159045SQ20071015351
公开日2008年4月9日 申请日期2007年9月20日 优先权日2006年10月5日
发明者A·C·马蒂内兹, C·马图拉, D·H·斯塔克, G·R·E·伟利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1