用于液体食品包装用的标记代码的数据库系统的制作方法

文档编号:30623478
研发日期:2022/7/2


1.本公开一般涉及用于液体食品的包装的制造,特别地,涉及用于存储用于这种包装的标记代码的数据库系统。


背景技术:

2.全世界每天消耗数十亿升水、牛奶、果汁和其他液体食品。大部分液体食品以纸质包装(也称为纸盒包装)分发。生产这些包装是为了保护里面液体食品的营养价值和味道。底层技术极大地促进了全球液体食品的包装和分发。
3.本技术人已经确定需要用唯一代码标记每个包装。在每个包装上提供唯一代码可以实现各种功能,例如在整个制造和分发链中跟踪和追踪包装,验证包装的真实性,链接到与包装相关的网络内容以供消费者或零售人员访问,将代码与促销活动和彩票等相关联。
4.液体食品包装以工业规模生产,面向世界市场。每年生产大量的包装。例如,在(tetra)生态系统中,2016年生产了1880亿(109)个包装。考虑到包装产品的保质期可能为6个月至1年,甚至更长,例如长达5年,需要生成大量唯一代码并将其存储在数据库系统中。在这样的环境中部署代码很可能导致超过1pb的数据。
5.ep3540664公开了一种稳健的技术,用于为包含液体食品的包装提供标记代码,其中相应的标记代码唯一地标识单个包装。标记代码基于有效载荷数据,该有效载荷数据唯一地表示单个包装的生产并且可以指示生产的时间和/或位置。加密有效载荷数据以使得难以猜测有效代码和生成欺诈代码。标记代码是通过将加密的有效载荷数据与未加密的标头部分组合而形成的。标记代码在包装上提供,并且还输入数据库,可选地与附加数据相关联。为了加快搜索并减少每个数据库的数据存储量,ep3540664建议提供不同生产区域的数据库,例如欧洲的第一数据库和北美的第二数据库,并将用于欧洲和北美的工厂所生产包装的标记代码分别存储在第一数据库和第二数据库。
6.当将标记代码存储在数据库系统中时,希望配置数据库系统以实现对包含来自包装的标记代码的查询的快速响应时间。还希望使数据库系统灵活并且可扩展。


技术实现要素:

7.一个目标是至少部分地克服现有技术的一个或多个限制。
8.另一个目标是提供一种灵活且可扩展的数据库系统,用于存储和检索用于液体食品包装的标记代码。
9.又一个目标是能够在数据库系统中快速有效地搜索标记代码,该数据库系统允许以1pb或更多的数量级存储数据。
10.这些目标中的一个或多个以及可能从以下描述中显现的其他目标至少部分地通过根据独立权利要求和由从属权利要求定义的其实施方案的数据库系统、系统、控制方法和计算机可读介质来实现。
11.本公开的第一方面是一种数据库系统,包括:输入子系统,其用于接收对应于液体
食品包装上的数据载体的标记代码,相应的标记代码包括唯一标识单个包装的生产的包装生产数据、多个存储标记代码的代码数据库,其中多个代码数据库中的相应代码数据库存储标记代码的相应子集;一组资源定位器,其中该组资源定位器中的相应资源定位器被配置为:从输入子系统接收当前标记代码,从当前标记代码中提取包装生产数据,基于包装生产数据识别多个代码数据库中的当前代码数据库,并将当前标记代码重定向到当前代码数据库。
12.在一些实施方案中,数据库系统进一步包括:一组查找数据库,其中相应的资源定位器被配置为连接到所述组查找数据库中相应的查找数据库,并且相应的查找数据库被设置为将所述包装生产数据中的至少一个数据元素与所述多个代码数据库中不同的代码数据库相关联。
13.在一些实施方案中,所述组资源定位器中的资源定位器与所述组查找数据库中的查找数据库成对连接,并且相应的查找数据库与每个所述对中相应的资源定位器共同定位。
14.在一些实施方案中,所述组查找数据库包括主查找数据库和主查找数据库的一个或多个副本。
15.在一些实施方案中,相应的资源定位器还被配置为在包装生产数据中搜索所述至少一个数据元素,提取所述至少一个数据元素的当前值,并且基于所述至少一个数据元素识别该组查找数据库中的查找数据库中的当前代码数据库。
16.在一些实施方案中,相应的代码数据库具有数据库系统中的地址,所述地址包括包装生产数据中的至少一个预定义数据元素。
17.在一些实施方案中,相应的资源定位器被配置为在包装生产数据中搜索所述至少一个预定义数据元素,提取所述至少一个预定义数据元素的当前值,将当前值包括在地址模板中以为数据库系统中的当前代码数据库生成该地址,并将当前标记代码重定向到该地址。
18.在一些实施方案中,所述至少一个预定义数据元素包括用于生产包装的一个或多个工厂的供应者的标识符。
19.在一些实施方案中,所述组资源定位器包括布置在不同地理区域中的两个或更多个资源定位器。
20.在一些实施方案中,相应的代码数据库位于多个分布区域中相应的分布区域中,并且相应的代码数据库中的标记代码的所述相应子集对应于至少部分地在相应的分布区域内分发的包装。
21.在一些实施方案中,多个代码数据库包括至少一个主代码数据库和主代码数据库的一个或多个副本。
22.在一些实施方案中,包装生产数据在标记代码中被加密,并且相应的资源定位器还被配置为解密标记代码以提取包装生产数据。
23.本公开的第二方面是一种系统,其包括:用于液体食品的包装,该包装具有包括标记代码的数据载体,该标记代码包括唯一标识该包装的生产的包装生产数据;以及根据第一方面或其任何实施方案的数据库系统。
24.本公开的第三方面是一种用于数据库系统的控制方法。该控制方法包括:通过数
据库系统的输入子系统接收当前标识代码,该标识代码对应于液体食品包装并包括唯一标识该包装的生产的包装生产数据;通过输入子系统向数据库系统中的资源定位器提供当前标记代码;以及操作资源定位器以:从当前标记代码中提取包装生产数据;基于包装生产数据,在存储多个标记代码的相应子集的多个代码数据库中识别当前代码数据库;并将当前标记代码重定向到当前代码数据库。
25.本公开的第四方面是一种包括计算机指令的计算机可读介质,所述计算机指令在由处理系统执行时使处理系统执行第三方面或其任何实施方案的方法。
26.其它目的以及实施方案、特征、方面和优点将从以下详细描述以及附图中显现。
附图说明
27.现在将参考所附示意图通过示例的方式描述实施方案。
28.图1a是用于液体食品的包装的制造和分发链的概览,且图1b是与这种包装上的标记代码交互的示意图。
29.图2a-2c是根据示例的预定义地理区域和数据库系统的相关资源的示意图。
30.图3是根据示例的数据库系统中包括的资源的示意图。
31.图4a是接收和处理当前标记代码的数据库系统的框图,且图4b是图4a的数据库系统中的资源定位器的框图。
32.图5是与数据库系统中的资源定位器有关的数据通信图。
33.图6a-6b是根据实施方案的用于操作数据库系统的控制方法的流程图。
34.图7是可以实现至少部分的数据库系统及其控制方法的计算机资源的框图。
具体实施方式
35.现在将在下文中参考附图更全面地描述实施方案,其中示出了一些但不是全部的实施方案。实际上,本发明可以以许多不同的形式体现,并且不应被解释为限于本文所阐述的实施方案;相反,提供这些实施方案是为了使本公开可以满足适用的法律要求。
36.此外,将理解,在可能的情况下,本文描述和/或设想的任何实施方案的任何优点、特征、功能、设备和/或操作方面可以包括在本文描述和/或设想的任何其他实施方案中,和/或反之亦然。此外,在可能的情况下,除非另有明确说明,否则本文中以单数形式表达的任何术语也意味着也包括复数形式,和/或反之亦然。如本文所用,“至少一”应表示“一或多”,并且这些短语旨在可互换。因此,术语“一(a)”和/或“一(an)”应表示“至少一”或“一或多”,即使本文也使用短语“一或多”或“至少一”。如本文所用,除非上下文由于表达语言或必要的暗示而另有要求,否则“包含(comprise)”一词或诸如“包含(comprises)”或“包含(comprising)”之类的变体以包容性的含义使用,即指定存在所述特征但不排除其他特征在各种实施方案中的存在或添加。
37.如本文所用,术语“和/或”包括一或多个相关列出的项目的任何和所有组合。
38.如本文所用,“一组”项目旨在暗示提供一或多个项目。
39.如本文所用,“液体食品”是指在室温下为非固体、半液体或可倾倒的任何食品,包括饮料,例如果汁、葡萄酒、啤酒、苏打水,以及乳制品、酱汁、油、奶油、蛋奶沙司、汤、糊等,以及液体中的固体食品,如豆类、水果、西红柿、炖菜等。
40.如本文所用,“包装”是指适于液体食品密封容纳物的任何包装或容器,包括但不限于由纸板或包装层压材料(例如基于纤维素的材料)形成的容器,以及由塑料材料制成或包含塑料材料的容器。
41.为了简洁和/或清楚起见,可能不会详细描述众所周知的功能或结构。除非另有定义,本文使用的所有术语(包括技术和科学术语)与本发明所属领域的普通技术人员通常理解的含义相同。
42.相同的附图标记自始至终指代相同的元件。
43.图1a是液体食品包装的制造和分发链的示意图。图示的链包括用于制造包装原材料的制造阶段1、用于制造含有液体食品的包装的填充阶段2、用于分发含有液体食品的包装的分发阶段3、用于将包装提供给消费者的零售阶段4、以及消费者阶段5,其中包装由消费者处理并且液体食品被食用。
44.在制造阶段1中,用于包装的片材在转化制造厂(工厂)10中制造。片材通常是纸基的并且以卷11提供给填充阶段2。在图示的示例中,阶段1进一步这涉及专门的制造厂(工厂)12,该制造厂为包装制造盖13(通常由塑料材料制成)。如果在没有盖的情况下形成包装,则制造厂12不存在于阶段1。还可以想象,阶段1包括为包装制造特定组件的额外制造厂。
45.在填充阶段2中,填充制造厂(工厂)14对片材11、盖13和液体食品进行操作以提供包含液体食品的包装。例如,填充工厂14的生产线可以将片材11成型为容器,将液体食品填充到容器中,并密封容器以形成包装。生产线还可以将盖13附接到容器。图1b示出了由填充工厂14生产的包装16的示例。阶段2可以进一步包括在进入分发阶段3之前包装的外部处理15,例如码垛。
46.应当理解,制造链通常可能涉及许多不同的转化工厂10、盖工厂12和填充工厂14,它们可以分布在全球范围内。工厂10、12、14中的每一个可以包括多条生产线。
47.如图1b所示,包装16包括代表标记代码的数据载体17。数据载体17可以通过任何已知的技术来实现,用于为制品提供代码。在一个示例中,数据载体17被印刷到包装16上,例如,作为人类可读的符号(例如字符)序列,或机器可读的图形符号,例如一或多个条形码或二维码(datamatrix、qr码等)。在另一个示例中,数据载体是电子标签,其中代码被存储并且可用于通过与标签(例如nfc、rfid、ble等)的无线通信来检索,例如根据用于此目的的任何常规标准。
48.如图1a所例示的,标记代码被生成为对于在制造链内的工厂10、12、14的整个生态系统内的包装16是唯一的,至少在预定义的生命周期内是如此。标记代码可以应用于图1a所示的工厂10、12、14中的任何一个中的包装。例如,可以通过转化工厂10将标记代码应用在片材11上的预定位置,以便定位于由填充工厂14生产的每个包装16上。在另一个示例中,可以由盖工厂12将标记代码应用到每个盖13。在另一个示例中,标记代码由填充工厂14应用到片材11、盖13、中间容器或包装16。应当理解,包装16可能包含多个这样的唯一标记代码,例如一个在盖13上,一个在包装16上。还可以想象,在随后的处理15(例如码垛)时,为包装或包装组提供唯一的标记代码。
49.在每个包装16上提供唯一代码能够实现许多不同的应用,包括在整个制造和分发链(图1a)中跟踪和追踪包装,验证包装的真实性,链接到与包装相关的网络内容以供消费
者或零售人员访问,将代码与促销活动和彩票等相关联,在阶段1-5(图1a)中使用的机器(例如填充工厂14中的任何设备、运输车辆中的冷却系统、仓库卡车、机器人、冰箱等)中引起自动动作。
50.图1b举例说明了加了代码的包装的使用。当前标记代码从包装16上的数据载体17读取并输入到输入设备20,例如,通过手动输入或通过使用输入设备20中或连接到输入设备20的扫描仪。输入设备20可以是移动电话(如图所示),或任何其他网络连接设备。输入设备20通过通信网络40,例如wan(广域网)、lan(局域网)、pan(个人局域网)、或其任何组合,将包含当前标记代码mc的请求r1发送到数据库系统30。如果数据库系统30被提供为基于云的服务,则网络40通常包括wan,例如因特网。数据库系统30被配置为响应于请求r1,在数据库系统内定位与当前标记代码对应的数据记录,并且可以例如在数据记录中创建条目以指示当前标记代码已经被被扫描和/或向输入设备2返回响应消息r2。响应消息r2可以例如包含接收确认、包装真实性的验证、与包装和/或其生产相关联的信息,例如通过到网络内容的链接等。
51.本发明的实施方案涉及数据库系统30的结构和功能。
52.数据库系统30可以是专有系统或基于商业可用的数据库平台,例如提供虚拟机实例或数据库即服务(dbaas)的云计算平台。在一个具体的实现示例中,数据库系统30在microsoft azure cosmos db上实现,它是一种全球分布的多模型数据库服务。
53.在本文公开的各种实施方案中,数据库系统30被配置为克服一个或多个挑战。如上所述,数据库系统30需要处理pb或更大数量级的数据。在这种规模下,就存储和检索所需的资源而言,将数据存储在单一数据库中变得昂贵。此外,从可用性的角度来看,需要快速响应时间,例如3秒或更短。在单一数据库和全球范围内分发包装的情况下,很难实现这样的响应时间。许多商业数据库具有交钥匙(turn-key)功能,可以将整个数据库地理复制到其他地理位置。虽然这样可以解决响应速度的问题,但也会使数据库系统的成本随庞大数据库的每次复制成倍增加。
54.由于标记代码来自不同的工厂,可以想到将标记代码分布在位于不同生产区域的数据库。如此将标记代码分离到不同数据库可以在不增加数据库的情况下提高响应时间。然而,虽然可以预先配置输入设备20以用于特定的生产区域,使得请求r1默认被发送到数据库系统30中的特定数据库,但是这样的解决方案缺乏灵活性和可扩展性。
55.为了克服上述挑战中的一或多者,本技术人已经确定了可以单独或组合地应用于数据库系统30的多个发明构思。
56.一个发明构思是选择性地将标记代码存储在位于不同地理区域的数据库中,从而相应数据库存储标记代码的相应子集。这些存储代码的数据库(“代码数据库”)在下文中表示为子集数据库并标示为“sdb”。相应的sdb可以存储与相应的标记代码子集相关联的附加数据,或者存储将相应的标记代码链接到附加数据库中的这种附加数据的参数,该附加数据库与相应的sdb可以位于同一位置,也可以不位于同一位置。sdb中的各个子集可以相互排斥,也可以部分重叠。提供sdb将增加数据库系统30的地理覆盖范围,而不会显着增加存储在数据库系统30中的数据总量。
57.另一个发明构思是提供所谓的资源定位器,它们是“重定向设备”,被配置为从输入设备20接收请求r1,并使用相应请求r1中的标记代码将请求r1引导到数据库系统30中多
个数据库中的相关数据库,其中相关数据库包含具有标记代码的数据记录。因此,资源定位器在数据库系统中作为基于代码的路由器运行。资源定位器实现了灵活且可扩展的数据库系统,其中来自任何类型的输入设备20的包含任何标记代码的请求r1将被引导到相关数据库。
58.另一个发明构思是定义分布区域而不是生产区域并将上述sdb定位在这些分布区域中。分布区域可以以任何粒度定义并且可以部分重叠或者不部分重叠。分布区域指定了将包装分发给消费者的地理区域,通常在图1a中的零售阶段4和/或消费者阶段5的位置。基本原理是sdb由此将定位为更靠近将使用输入设备20提交请求r1的用户。图2a示出了这种分布区域的非限制性示例,用虚线粗略地表示。在图示示例中,分布区域包括欧洲大陆(g1)、北欧国家(g2)、俄罗斯(g3)、印度和中南半岛(g4)、东亚(g5)、澳大拉西亚(g6)、非洲(g7)、南美洲(g8)、中美洲(g9)、美国(g10)和加拿大(g11)。图2a还表示生产地点(工厂)pl1,其位于g3并生产用于在g1、g2和g7分发的包装。认识到将sdb定位在例如g1将在响应时间方面是有益的。
59.另一个发明构思是地理上分布资源定位器,例如分布在不同的分布区域,以减少响应时间。资源定位器的这种分布或复制对数据库系统所需的资源没有显着影响,因为资源定位器通常是小型且高效的模块。图2b示出了分布在世界各地的此类资源定位器rl1、rl2、rl3的非限制性示例,其中rl1在g2,rl2在g4,且rl3在g10。rl1-rl3中的每一个可以被配置为将包含在pl1(图2a)产生的包装上的标记代码的请求r1引导到g1的数据库sdb1。认识到由相关分布区域g1、g2和g7中的任何一个中的输入设备产生的请求r1可以被rl1快速有效地重定向到sdb1。
60.另一个发明构思涉及将第一分布区域中的sdb复制或重复到一个或多个第二分布区域,其中sdb包含除了第一分布区域之外分布在(一个或多个)第二分布区域内的包装的标记代码。这可以被视为导致第一分布区域中的主sdb和(一个或多个)第二分布区域中的一个或多个从sdb。图2c示出了位于g1中的主sdb1(经填充)和分别位于g2和g7中的两个从sdb1(开放)的非限制性示例。认识到提供从sdb可以进一步减少响应时间。由于主sdb仅包含所有标记代码的子集,因此复制导致存储在数据库系统30内的总数据适度增加。此外,即使数据库系统包含多个主sdb,并且复制了多个主sdb,增加数据库系统中数据总量的缺点可能会被减少的响应时间所抵消。
61.如上所述,可以根据数据库系统30的所需性能来组合本发明构思中的一个或多个。图3是实现所有发明构思并且根据分布区域g1-g11构造并包括资源定位器rl1-rl3、主子集数据库sdb1-sdb4和从子集数据库sdb2的数据库系统的框图。在所示示例中,资源定位器rl1-rl3与各自的查找数据库ldb1-ldb3位于同一位置,这将在下面进一步描述。
62.图4a是根据一个实施方案的数据库系统30的概览。数据库系统30包括输入子系统40、三个资源定位器rl1-rl3、主子集数据库sdb1-sdbi和两个从子集数据库sdb1、sdb2。资源定位器一般用42表示,子集数据库一般用31表示。在图4a所示的示例中,数据库系统30从输入设备20接收具有当前标记代码mc的请求。该请求由输入子系统40接收,该输入子系统40被配置为应用任何合适的流量路由协议来选择和引导向资源定位器42之一的请求。因此,输入子系统40可以作为“流量管理器”操作。在图4a中,如实线箭头所示,流量管理器40将请求重定向到rl1。例如,可以选择资源定位器以给出最低延迟、给出预定义的负载分布、
处于与输入设备20的位置相关的特定地理区域中。在一个实施方案中,流量管理器进行操作以接收来自输入设备20的dns查询,并选择资源定位器之一的网络地址并将其返回给输入设备20,从而使输入设备20能够将请求传送给选定的资源定位器。在microsoft azure cosmos db的示例中,流量管理器40可以基于azure流量管理器来实现。资源定位器42中的每一个都可操作以将传入请求重定向到一个或多个子集数据库31。在图4a所示的示例中,每个资源定位器42都可操作以将传入请求重定向到子集数据库31中的任何一个。然而,也可以想象,资源定位器42被分配部分不同的子数据库,它们能够将传入的请求重定向到这些数据库。在图4a中,如实线箭头所示,rl1将具有当前标记代码mc的请求重定向到包含该特定标记代码mc的主子集数据库sdb2。然后向sdb2查询该特定标记代码,由此可以使用与请求相关的信息更新sdb2和/或可以检索与sdb2中的标记代码相关联存储的数据并将其返回到输入设备20或另一设备(未示出)。
63.下面将参考标记代码进一步举例说明实施方案,该标记代码包括有效载荷数据,该有效载荷数据对于单个包装的生产是唯一的并且由预定义的加密算法加密。加密用于保护ppd,使其难以根据另一个标记代码猜测有效标记代码,并将欺诈生成标记代码的风险降至最低。通常,标记代码由一系列值(例如二进制值)组成。下文中表示为包装生产数据(ppd)的有效载荷数据可以包括标识生产位置和/或生产时间的数据元素。在第一示例(“内联示例格式”)中,ppd中的数据元素包括运营工厂的生产者标识符(producerid)、工厂标识符(plantid)、工厂中生产线的标识符(lineid)、在其中标记代码被添加到包装的设备的标识符(equipmentid),ppd进一步标识当前生产时间,例如通过年、日、小时、分钟、秒和亚秒分辨率计数器(packagecounter),它可以是随机的也可以不是随机的。在第二示例(“离线示例格式”)中,ppd中的数据元素包括工厂的标识符(productionunitid)、生产批次、和该生产批次内的包装,其中生产批次可以通过时间段(例如当前年份和月份)以及该时间段内的批次编号(requestnumber)来标识,并且其中可以通过该生产批次中的包装编号(packagecounter)来标识包装。包装编号可以是随机的也可以不是随机的。标记代码还可以包括未加密的标头部分,该标头部分可以被混淆也可以不被混淆,并且可以包含启用加密ppd的解密和验证的数据。在上述ep3540664中可以找到标记代码的实现示例和进一步的描述,该ep3540664的全部内容通过引用并入本文。
64.图4b是根据一个实施方案的资源定位器42的示意框图。资源定位器42包括输入模块43,其被配置为接收包含标记代码mc的传入请求,并且将标记代码提供给提取模块44。提取模块44被配置为解密标记代码,特别是加密的ppd,以提取ppd。提取模块44可以对标记代码或其一部分应用预定义的加密算法或函数,其中加密算法可以基于未加密的标头部分中的数据(如果包括在标记代码中)来进行选择或配置。认识到模块44使用的加密算法与用于生成标记代码的加密算法相匹配。解密后,ppd是未加密的且可读。ppd或其一部分被提供给数据库选择模块45,该模块被配置为基于ppd导出数据库标识符(dbid),可选地通过在相关联的查找数据库32中查找。dbid被提供给通信模块46,它将传入请求重定向到由dbid给出的选定数据库31。如果数据库系统30配置有一个或多个可以具有与主sdb相同的dbid的从sdb,则通信模块46可以例如通过与流量管理器40类比来配置以应用任何合适的流量路由协议以进行选择并将请求引导到sdb之一,例如,给出最低延迟、给出预定义负载分布、或位于与输入设备20的位置相关的特定地理区域的sdb。
65.查找数据库32可以被布置为将ppd中的任何数据元素或数据元素的组合与一个或多个dbid相关联。例如,可以为不同的producerid分配不同的dbid,这意味着各个(主)sdb存储已为特定生产者的任何工厂生产的包装生成的标记代码。查找数据库32提供了数据库系统的极大灵活性和可扩展性,因为可以简单地更新查找数据库32以考虑添加到数据库系统的新sdb。此外,可以通过更新模块45的选择逻辑以及可选地查找数据库32的内容来简单地改变重定向功能。例如,dbid可以由producerid和plantid的组合给出,使得对于生产者的不同工厂,请求被重定向到不同的sdb。此外,图4b中的实施方案使生产时间数据(例如年份)成为dbid的决定性因素。前述内容假定ppd中的至少一个数据元素或数据元素组合的值在数据库系统内是全局唯一的。
66.资源定位器42还允许使用不同类型的ppd,例如包括不同的数据元素和/或数据元素的不同排列。例如,数据库系统可以被配置为同时适应ppd的内联示例格式和离线示例格式。例如,假设requestnumber是全局唯一的,模块45可以基于针对内联示例格式的ppd的producerid和针对离线格式的ppd的requestnumber来确定dbid。在一个变型中,requestnumber和时间段的组合是全局唯一的并且用于确定dbid。例如,ppd格式的类型可以在标记代码的未加密标头部分中或在ppd中的一个或多个预定义位位置处指示。因此,模块45可以使用标头部分或ppd来确定ppd格式并根据ppd格式设置其选择逻辑。
67.在一个变型中,模块45还基于未加密的标头部分中的数据来确定dbid。因此可以想到,提取模块44还从标记代码中提取标头部分并将标头部分或其一部分提供给模块45。
68.出于请求速度的原因,将查找数据库32与资源定位器42共同定位可能是有利的,使得它们在地理上彼此接近,例如通过位于同一分布区域内。至少相比于存储在sdb中的数据总量,查找数据库32将是一个相对较小的数据库,所以查找数据库32的复制对数据库系统30的性能没有重大影响。因此,在一个实施方案中,一个资源定位器42的查找数据库32(“主查找数据库”)被复制到与相应的另外的资源定位器42共同定位的至少一个另外的查找数据库(“从查找数据库”)中。这样的复制由图3中的箭头示意性地表示,其中rl2的ldb2被复制到与rl1关联的ldb1和与rl3关联的ldb3中。根据前述内容理解,这种地理复制是许多商业数据库中的交钥匙功能。
69.可以注意到,在某些实施方式中,可以省略查找数据库32,并且模块45可以直接从ppd和/或标头部分中的一个或多个数据元素导出dbid。例如,dbid可以等于producerid(可选地与plantid组合)。
70.还可以注意到,为了将提供资源定位器的发明构思与使用分布区域的发明构思相结合,相应的sdb应该相对于存储在sdb中的标记代码布置在相关分布区域中。
71.图5图示了根据实施方案的数据库系统中的数据路径。数据库系统在相应的分布区域g1、g4、g10中包括三个资源定位器42。在该示例中,请求r1从输入设备(未示出)上的浏览器22发送,并且以url的格式,其中标记代码mc作为路径组件被包括在主机名(这里是www.aaa.bbb)之后。请求r1由流量管理器40接收,该流量管理器40选择资源定位器42之一(例如基于相应资源定位器的dns性能),并且使浏览器22显示所选资源定位器的登陆页面50。假设浏览器22位于印度,浏览器很可能加载分布区域g4中的资源定位器42(参见图3中的rl2)的登陆页面50。如果此资源定位器已关闭,流量管理器可能会根据性能解析到分布区域g1或g10中的资源定位器。所选资源定位器42然后从请求r1中提取标记代码并确定存
储标记代码的所选sdb,例如通过在与所选资源定位器42相关联的查找数据库32(参见图3中的ldb2)中查找。然后,请求r1由选定的资源定位器42转发或以其他方式重定向到选择的sdb。在图3的示例中,如果浏览器位于印度,很可能请求r1会被转发到g4中的sdb4。最后,将搜索sdb4,并且响应于请求r1可以将标记代码和/或相关信息从选择的sdb返回给浏览器22。
72.图6a是根据实施方案的控制方法600的流程图。可以通过在实现数据库系统或其一部分的一个或多个计算机资源上执行软件来执行控制方法。在步骤601,输入子系统40被操作以接收当前标记代码(图4a)。在步骤602,输入子系统40被操作以将当前标记代码提供给资源定位器42。在步骤603,资源定位器42被操作以将当前标记代码重定向到选择的(“当前”)sdb 31。在所示实施方案中,步骤603包括操作资源定位器42以接收标记代码(步骤603a),从标记代码提取ppd(步骤603b),基于ppd识别当前sdb(步骤603c),并将当前标记代码重定向到当前sdb(步骤603d)。
73.图6b是图6a中步骤603c的一个实施方案的流程图。步骤603c可以对应于上述模块45(图4b)的选择逻辑。图6b的实施方案能够处理带有不同格式的ppd(例如上述内联和离线示例格式)的标记代码。步骤603c由资源定位器42执行并且包括在ppd中搜索一个或多个第一数据元素的步骤610。(一个或多个)第一数据元素可以例如包括上述producerid。如果找到了(一个或多个)第一数据元素(步骤611),则该方法进行到步骤612,步骤612提取(一个或多个)第一数据元素的当前值,例如producerid的当前值。在步骤613,将当前值输入到数据库系统中sdb的公共地址模板中,以形成数据库系统中所选sdb的地址。本实施方案假定数据库系统中各个sdb的地址包括(一个或多个)第一数据元素并且其值不同。例如,可以根据producerid枚举sdb的地址。然后该方法进行到步骤603d,该步骤将标记代码重定向到该地址。如果在ppd中没有找到(一个或多个)第一数据元素,则该方法由步骤611指示在步骤614中在ppd中搜索一个或多个第二数据元素,其中至少一个第二数据元素不同于(一个或多个)第一个数据元素。如果找到(一个或多个)第二数据元素,则步骤615将方法引导到步骤616,步骤616提取(一个或多个)第二数据元素的当前值,例如requestnumber的当前值(可选地与时间段组合)。在步骤617,以当前值作为搜索关键字访问查找数据库(ldb)32,并从ldb中检索所选sdb的对应dbid。在步骤618,根据dbid获取所选sdb的地址。然后该方法进行到步骤603d,步骤603d将标记代码重定向到该地址。认识到dbid可以定义所选sdb的地址,或至少其一部分。在一个示例中,通过与步骤613类比的方式执行步骤618,并且dbid可以例如包括producerid。如果在ppd中没有找到(一个或多个)第二数据元素,则该方法由步骤615导向生成错误消息,该错误消息可以显示在输入设备20上(步骤619)。
74.本文所公开的结构和方法可以通过硬件或者软件和硬件的组合来实现。在一些实施方案中,这样的硬件包括一个或多个软件控制的计算机资源。图7示意性地描绘了这样的计算资源70,其包括处理系统71、计算机存储器72和用于数据输入和/或输出的通信接口73。通信接口73可以被配置用于有线和/或无线通信,包括与输入设备20的通信。处理系统71可以例如包括以下各项中的一者或多者:cpu(“中央处理单元”)、dsp(“数字信号处理器”)、微处理器、微控制器、asic(“专用集成电路”)、离散模拟和/或数字元件的组合、或一些其他可编程逻辑设备,例如fpga(“现场可编程门阵列”)。包括计算机指令的控制程序74被存储在存储器72中并且由处理系统71执行以执行前述示例的任何方法、操作、功能或步
骤。如图7所示,存储器72还可以存储控制数据75以供处理系统72使用。可以将控制程序74提供给计算机可读介质76上的计算资源70,计算机可读介质76可以是有形(非暂时性)产品(例如磁介质、光盘、只读存储器、闪存等)或传播信号。
当前第1页1 2 
猜你喜欢
网友询问留言