用于使用统一通信方案对接网络的系统和方法与流程

专利2022-05-09  307


用于使用统一通信方案对接网络的系统和方法
1.相关申请
2.本申请是2019年7月12日提交的美国专利申请no.16/510,372(现已授权)的部分延续,其因此通过引用合并于本申请中。
技术领域
3.本公开总体上涉及用于将一个或多个外部通信网络与内部通信网络对接的计算机化系统和方法。尤其地,本公开的实施例涉及有创造性且非常规的系统,这些系统通过使用统一的通信方案,使得通信网络能够与其他通信网络(例如,由第三方操作的通信网络)对接,而不管其他通信网络的相应通信协议或应用编程接口(api)为何,这可加快这些网络之间的通信。


背景技术:

4.在当今世界,因特网和计算机网络的发展已使得计算机网络无处不在。几乎每个家庭或办公室都配备有专用网络。另外,诸如大型公司、制造工厂或仓库之类的业务实体在其内部网络内运行各种系统。为了本公开的目的,网络可以被定义为能够使用共同的消息格式在不同系统之间进行通信的计算机网络,其中同一网络内的每个系统可以发送和接收消息,而无需转换或变换这些消息。这些内部网络将由同一实体拥有和运行的不同系统连接起来,并且允许在这些不同系统之间进行通信。可以将新的内部系统或者外部系统(即由具有不同通信格式的独立网络连接的系统群组)添加或连接到内部网络,但是这样的过程需要手动配置不同的网络参数。
5.将两个不同的系统对接通常涉及使用特定的api,诸如基于代表性状态传输(rest)的api、文件传输api、数据库到数据库传输api等中的一个。然而,不同的api可能具有不同的语法和格式要求,为了使两个系统能够彼此通信,必须遵循这些要求。此外,不同的系统也可以利用不同的通信协议,并且在接收系统能够解释来自发送系统的消息之前,必须转换这些消息。
6.当具有管理其操作的不同方面的各种系统的实体必须能够与另一实体通信时会引起问题。在这种情况下,两个实体必须就共同的api和通信协议(以下统称为通信方案)达成一致,并修改所有其系统以采用一致的通信方案。一种替代方法是在必须彼此通信的每对系统(每个实体一个系统)之间设置合适的转换机制。然而,就实施成本和操作成本而言,这两种方法都是昂贵的。当一个实体还必须与使用不同通信方案的另一实体进行通信时,该问题变得更加复杂,因为第三个实体也必须采用相同的方案,或为每个系统实现转换机制。
7.因此,需要一种集中式解决方案,该解决方案将一个实体的系统群组(即内部系统)与多个不同实体的系统群组(即不同的外部系统)对接,而不管它们各自的通信方案为何。


技术实现要素:

8.本公开的一个方面针对一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的系统。该系统可包括存储器强指令以及至少一个处理器,该至少一个处理器被配置成执行这些指令。这些指令可以包括:从通信网络集合中的第一通信网络接收第一消息,所述第一消息包括第一未知消息头和第一未知消息体;解析所述第一未知消息头,以确定对应于所述第一通信网络的身份的第一变量和对应于第一目的地的第二变量;基于预先配置的数据结构和所述第一变量,标识所述第一未知消息头和所述第一未知消息体采用预定格式;基于所述预定格式,将所述第一未知消息体解串行化成其底层数据结构;通过加速转换过程将所述第一未知消息体转换成第二通信网络的标准化格式;将标准化消息体重新串行化以供传输;以及,基于所述第二变量,将第一经标准化的消息体发送至第一目的地。
9.本公开的又一方面针对一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的方法。该方法可以包括:从通信网络集合中的第一通信网络接收第一消息,所述第一消息包括第一未知消息头和第一未知消息体;解析第一未知消息头,以确定对应于所述第一通信网络的身份的第一变量和对应于第一目的地的第二变量;基于预先配置的数据结构和所述第一变量,标识所述第一未知消息头和所述第一未知消息体采用预定格式;基于所述预定格式,将所述第一未知消息体解串行化成其底层数据结构;通过加速转换过程将所述第一未知消息体转换成第二通信网络的标准化格式;将标准化消息体重新串行化以供传输;基于所述第二变量,将第一标准化消息体发送至所述第一目的地。
10.此外,本公开的另一方面针对一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的系统。该系统可以包括入站端点层,所述入站端点层被配置成从通信网络集合中的第一通信网络接收入站消息,该入站消息包括未知入站消息头和未知入站消息体。入站端点层可以进一步包括入站解析器,所述入站解析器被配置成解析所述未知入站消息头,以确定与所述第一通信网络的身份相对应的第一部分以及与位于所述第二通信网络内的第一目的地相对应的第二部分。所述系统可以进一步包括:入站转换层,所述入站转换层被配置成基于所述第一部分以及已知通信网络的预先配置的数据结构,通过加速转换过程将所述未知入站消息体转换为标准化格式;路由层,所述路由层被配置成将标准化入站消息体发送到所述第一目的地;出站端点层,所述出站端点层被配置成从所述第二通信网络接收出站消息,所述出站消息包括标准化出站消息体和位于所述通信网络集合中的第三通信网络内的第二目的地;以及,出站转换层,所述出站转换层被配置成基于所述第二目的地以及已知通信网络的预先配置的数据结构,将所述标准化出站消息体转换为预定格式。路由层还可被配置成将非标准化出站消息体发送到第二目的地。
11.本文还讨论了其他系统、方法和计算机可读介质。
附图说明
12.图1a是示出了与所公开的实施例一致的包括用于通信的计算机化系统的网络的示例性实施例的示意性框图,该网络实现了装运、运输和物流操作。
13.图1b描述了与所公开的实施例一致的包括满足搜索请求的一个或多个搜索结果以及交互式用户界面元素的样本搜索结果页面(search result page,srp)。
14.图1c描述了与所公开的实施例一致的包括产品和关于该产品的信息以及交互式用户界面元素的样本单显示页面(single display page,sdp)。
15.图1d描述了与所公开的实施例一致的包括虚拟购物车中的物品以及交互式用户界面元素的样本购物车页面。
16.图1e描述了与所公开的实施例一致的包括来自虚拟购物车的物品、关于购买和装运的信息以及交互式用户界面元素的样本订单页面。
17.图2是与合所公开的实施例一致的配置为利用所公开的计算机化系统的示例性履行中心的图解说明。
18.图3是示出与所公开的实施例一致的,用于在内部系统和外部系统之间进行对接的计算机化系统的示例性实施例的示意框图。
19.图4是与所公开的实施例一致的,用于在入站消息转换成标准化格式之后,路由该入站消息的示例性计算机化过程的流程图。
20.图5是与所公开的实施例一致的,用于在出站消息转换成非标准化格式之后,路由该出站消息的示例性计算机化过程的流程图。
具体实施方式
21.以下详细描述参考了附图。只要可能,在附图和以下描述中使用相同的附图标记来指代相同或相似的部分。虽然在本文中描述了若干说明性实施例,但是修改、适配和其他实施方式都是可能的。例如,可以对附图中示出的组件和步骤进行替换、添加或修改,并且可以通过对所公开的方法进行替换、重新排序、移除或添加步骤来修改本文描述的说明性的方法。因此,以下详细描述不限于所公开的实施例和示例。相反,本发明的适当范围由所附权利要求限定。
22.本公开的实施例涉及被配置用于通过使用统一通信方案将内部系统与不同外部系统群组进行对接,而不管其通信方案为何的系统和方法。
23.参考图1a,示出了说明包括用于通信的计算机化系统的系统的示例性实施例的示意性框图100,该系统实现了装运、运输和物流操作。如图1a所示,系统100可以包括各种系统,其中每个系统可以经由一个或多个网络彼此连接。系统也可以经由直接连接(例如使用电缆)彼此连接。所描述的系统包括:装运授权技术(shipment authority technology,sat)系统101、外部前端系统103、内部前端系统105、运输系统107、移动装置107a、移动装置107b和移动装置107c、卖方门户109、装运和订单跟踪(shipment and order tracking,sot)系统111、履行优化(fulfillment optimization,fo)系统113、履行消息传递网关(fulfillment messaging gateway,fmg)115、供应链管理(supply chain management,scm)系统117、劳动力管理系统119、移动装置119a、移动装置119b和移动装置119c(描述为在履行中心(fulfillment center,fc)200的内部)、第三方履行系统121a、第三方履行系统121b和第三方履行系统121c、履行中心授权系统(fulfillment center authorization system,fc授权系统)123以及劳动管理系统(labor management system,lms)125。
24.在一些实施例中,sat系统101可以被实现为监控订单状态和递送状态的计算机系统。例如,sat系统101可以确定订单是否超过其承诺交付日期(promised delivery date,pdd),并且可以采取适当的行动,包括:发起新的订单、重新装运未递送订单中的物品、取消
未递送订单、发起与订购的顾客的联系等。sat系统101还可以监控其他数据,包括输出(例如在特定时间段内装运的包裹的数量)和输入(例如接收到的供在装运时使用的空纸板箱的数量)。sat系统101还可以充当系统100内不同装置之间的网关,从而(例如,使用存储转发或其他技术)实现诸如外部前端系统103和fo系统113等装置之间的通信。
25.在一些实施例中,外部前端系统103可以被实现为使得外部用户能够与系统100中的一个或多个系统进行交互的计算机系统。例如,在系统100使系统的呈现能够让用户对物品下订单的实施例中,外部前端系统103可以实现为接收搜索请求、呈现物品页面和请求支付信息的网络服务器。例如,外部前端系统103可以实现为运行诸如apache http服务器、微软因特网信息服务(internet information service,iis)、nginx等软件的一个或多个计算机。在其他实施例中,外部前端系统103可以运行定制的网络服务器软件,该定制的网络服务器软件被设计为:接收和处理来自外部装置(例如,移动装置102a或计算机102b)的请求,基于那些请求从数据库和其他数据存储部获取信息,以及基于所获取的信息提供对所接收的请求的响应。
26.在一些实施例中,外部前端系统103可以包括网络高速缓存系统、数据库、搜索系统或支付系统中的一个或多个。在一个方面,外部前端系统103可以包括这些系统中的一个或多个,而在另一方面,外部前端系统103可以包括连接至这些系统中的一个或多个的接口(例如,服务器到服务器、数据库到数据库或其他网络连接)。
27.图1b、图1c、图1d和图1e所示出的一组说明性步骤将有助于描述外部前端系统103的一些操作。外部前端系统103可以接收来自系统100中的系统或装置的信息以供呈现和/或显示。例如,外部前端系统103可以主存或提供一个或多个网页,包括:搜索结果页面(search result page,srp)(例如,图1b)、单个详细信息页面(single detail page,sdp)(例如,图1c)、购物车页面(例如,图1d)或订单页面(例如,图1e)。用户装置(例如,使用移动装置102a或计算机102b)可以导航至外部前端系统103,并且通过将信息输入搜索框内来请求搜索。外部前端系统103可以向系统100中的一个或多个系统请求信息。例如,外部前端系统103可以向fo系统113请求满足搜索请求的信息。外部前端系统103还可为搜索结果中所包括的各产品(从fo系统113)请求和接收承诺交付日期或“pdd”。在一些实施例中,pdd可以表示对包含产品的包裹将何时到达用户的期望位置的估计,或者在产品是在特定时间段(例如,到当天结束时(晚上11:59))内被订购的情况下,表示承诺将该产品递送至用户期望的位置的日期(将在下面关于fo系统113进一步讨论pdd)。
28.外部前端系统103可以基于该信息准备srp(例如,图1b)。srp可以包括满足搜索请求的信息。例如,这可以包括满足搜索请求的产品的图片。srp还可以包括每个产品各自的价格,或者与每个产品的增强的递送选项、pdd、重量、尺寸、报价、折扣等有关的信息。外部前端系统103可以(例如,经由网络)将srp发送至请求用户装置。
29.然后,用户装置可以从srp中选择产品,例如通过点击或敲击用户界面、或使用另一输入装置以选择srp上所呈现出的产品。用户装置可以对所选产品制定信息请求,并且将该请求发送至外部前端系统103。作为响应,外部前端系统103可以请求与所选产品有关的信息。例如,该信息可以包括在相应的srp上为产品呈现的信息之外的附加信息。这可以包括例如保质期、原产国、重量、尺寸、包裹中的物品的数量、使用说明或关于产品的其他信息。该信息还可以包括对类似产品的推荐(例如,基于购买该产品和至少一种其他产品的顾
客的大数据和/或机器学习分析)、对常见问题的回答、来自顾客的评论、制造商信息、图片等。
30.外部前端系统103可以基于所接收的产品信息准备sdp(单个详细信息页面)(例如,图1c)。sdp还可以包括其他交互元素,例如“立即购买(buy now)”按钮、“添加到购物车(add to cart)”按钮、数量字段、物品的图片等。sdp还可以包括提供该产品的卖方列表。该列表可以基于每个卖方提供的价格来排序,使得提供以最低价格出售产品的卖方可以被列在顶部。该列表还可以基于卖方排名来排序,使得排名最高的卖方可以被列在顶部。可以基于多个因素来制定卖方排名,该多个因素包括例如卖方满足承诺的pdd的过去的跟踪记录。外部前端系统103可以(例如,经由网络)将sdp递送至请求用户装置。
31.请求用户装置可以接收列出产品信息的sdp。在接收sdp之后,用户装置然后可以与sdp交互。例如,请求用户装置的用户可以点击sdp上的“放入购物车(place in cart)”按钮或以其他方式与sdp上的“放入购物车(place in cart)”按钮交互。这会将产品添加到与用户关联的购物车。用户装置可以将该请求发送至外部前端系统103以将产品添加到购物车。
32.外部前端系统103可以生成购物车页面(例如,图1d)。在一些实施例中,购物车页面列出用户已经添加到虚拟“购物车”的产品。用户装置可以通过点击srp、sdp或其他页面上的图标或以其他方式与srp、sdp或其他页面上的图标交互来请求购物车页面。在一些实施例中,购物车页面可以列出用户已经添加到购物车的所有产品,以及关于购物车中的产品的信息,该信息例如为各产品的数量、各产品的按件的价格、各产品基于相关数量的价格、关于pdd的信息、递送方法、装运成本、用于修改购物车中的产品的用户界面元素(例如,删除或修改数量)、订购其他产品或设置产品的定期递送的选项、设置利息支付的选项、用于继续购买的用户界面元素等。在用户装置处的用户可以点击用户界面元素(例如,读作“立即购买(buy now)”的按钮)或以其他方式与用户界面元素交互以发起对购物车中的产品的购买。在这样做之后,用户装置可以将该请求发送至外部前端系统103以发起购买。
33.外部前端系统103可以响应于接收到发起购买的请求而生成订单页面(例如,图1e)。在一些实施例中,订单页面重新列出来自购物车的物品并请求输入支付和装运信息。例如,订单页面可以包括:请求关于购物车中的物品的购买者的信息(例如,姓名、地址、电子邮件地址、电话号码)、关于接收者的信息(例如,姓名、地址、电话号码、递送信息)、装运信息(例如,递送和/或取货的速度/方法)、支付信息(例如,信用卡、银行转账、支票、存储的信用)的部分,以及请求现金收据(例如,用于税收的目的)的用户界面元素等。外部前端系统103可以将订单页面发送至用户装置。
34.用户装置可以在订单页面上输入信息,并且单击将信息发送至外部前端系统103的用户界面元素或以其他方式与将信息发送至外部前端系统103的用户界面元素交互。从那里,外部前端系统103可以将信息发送至系统100中的不同系统,实现对具有购物车内的产品的新订单的创建和处理。
35.在一些实施例中,外部前端系统103还可以配置为使卖方能够发送和接收与订单有关的信息。
36.在一些实施例中,内部前端系统105可以实现为使内部用户(例如,拥有、操作或租赁系统100的组织的雇员)能够与系统100中的一个或多个系统交互的计算机系统。例如,在
网络101使系统的呈现能够让用户为物品下订单的实施例中,内部前端系统105可以实现为网络服务器,该网络服务器使内部用户能够:查看关于订单的诊断和统计信息、修改物品信息或审查与订单相关的统计信息。例如,内部前端系统105可以实现为运行软件(例如apache http服务器、微软因特网信息服务(iis),nginx等)的一个计算机或多个计算机。在其他实施例中,内部前端系统105可以运行定制的网络服务器软件,该定制的网络服务器软件设计为:接收和处理来自系统100中描述的系统或装置(以及未描述的其他装置)的请求,基于那些请求从数据库和其他数据存储部获取信息,以及基于所获取的信息对所接收的请求提供响应。
37.在一些实施例中,内部前端系统105可以包括网络高速缓存系统、数据库、搜索系统、支付系统、分析系统、订单监控系统等中的一个或多个。在一个方面,内部前端系统105可以包括这些系统中的一个或多个,而在另一方面,内部前端系统105可以包括连接至这些系统中的一个或多个的接口(例如,服务器到服务器、数据库到数据库或其他网络连接)。
38.在一些实施例中,运输系统107可以实现为能够在系统100中的系统或装置与移动装置107a

107c之间进行通信的计算机系统。在一些实施例中,运输系统107可以接收来自一个或多个移动装置107a

107c(例如,移动电话、智能手机、掌上电脑(pda)等)的信息。例如,在一些实施例中,移动装置107a

107c可以包括由递送工作者操作的装置。递送工作者(可以是永久的、临时的或轮班雇员)可以利用移动装置107a

107c来实现包含由用户订购的产品的包裹的递送。例如,为了递送包裹,递送工作者可以在移动装置上接收指示要递送哪个包裹以及在何处递送它的通知。在到达递送位置之后,递送工作者可以(例如,在卡车的后部或包裹的板条箱中)定位包裹,使用移动装置扫描或以其他方式捕获与包裹上的标识符(例如,条形码、图像、文本字符串、无线射频识别(rfid)标签等)相关联的数据,以及递送包裹(例如,通过将包裹留在前门、将包裹交给保安、将包裹递交给接收者等)。在一些实施例中,递送工作者使用移动装置可捕获包裹的照片(一个或多个)和/或可获得签名。移动装置可以将包括关于递送信息(包括例如时间、日期、gps位置、照片(一个或多个)、与递送工作者相关联的标识符、与移动装置相关联的标识符等)的信息发送至运输系统107。运输系统107可以将该信息存储在数据库(未图示)中,以供系统100中的其他系统访问。在一些实施例中,运输系统107可以使用该信息来准备跟踪数据并将跟踪数据发送至其他系统,该跟踪数据指示特定的包裹的位置。
39.在一些实施例中,某些用户可以使用一种移动装置(例如,固定工作者可使用具有定制硬件的专用pda,诸如条形码扫描仪、触控笔和其他装置等),而其他用户可以使用其他种类的移动装置(例如,临时工作者或轮班工作者可以利用现成的移动电话和/或智能手机)。
40.在一些实施例中,运输系统107可以将用户与每个装置相关联。例如,运输系统107可以存储用户(由例如,用户标识符、雇员标识符或电话号码表示)与移动装置(由例如,国际移动设备识别码(international mobile equipment identity,imei)、国际移动订阅标识符(international mobile subscription identifier,imsi)、电话号码、通用唯一标识符(universal unique identifier,uuid)或全球唯一标识符(globally unique identifier,guid)表示)之间的关联。运输系统107可以将该关联与基于递送所接收的数据结合使用,以分析存储在数据库中的数据,以便除了其他东西以外还确定工作者的位置、工
作者的效率或工作者的速度等。
41.在一些实施例中,卖方门户109可以被实现为使卖方或其他外部实体能够与系统100中的一个或多个系统以电子方式通信的计算机系统。例如,卖方可以利用计算机系统(未图示)来上载或提供卖方希望使用卖方门户109通过系统100销售的产品的产品信息、订单信息、联系信息等。
42.在一些实施例中,装运和订单跟踪系统111可以被实现为接收、存储和转发关于包裹的位置的信息的计算机系统,该包裹包含由顾客(例如,由用户使用装置102a

102b)订购的产品。在一些实施例中,装运和订单跟踪系统111可以请求或存储来自由装运公司运营的网络服务器(未图示)的信息,该装运公司递送包含由顾客订购的产品的包裹。
43.在一些实施例中,装运和订单跟踪系统111可以请求和存储来自系统100中描述的系统的信息。例如,装运和订单跟踪系统111可以向运输系统107请求信息。如上所述,运输系统107可以接收来自与一个或多个用户(例如,递送工作者)或车辆(例如递送卡车)相关联的一个或多个移动装置107a

107c(例如,移动电话、智能手机,pda等)的信息。在一些实施例中,装运和订单跟踪系统111还可以向劳动力管理系统(wms)119请求信息,以确定在履行中心(例如,履行中心200)里面的各个产品的位置。装运和订单跟踪系统111可以向运输系统107或wms 119中的一个或多个请求数据,对数据进行处理,并根据请求将数据呈现给装置(例如,用户装置102a和用户装置102b)。
44.在一些实施例中,履行优化(fo)系统113可以被实现为存储来自其他系统(例如,外部前端系统103和/或装运和订单跟踪系统111)的顾客订单的信息的计算机系统。fo系统113还可以存储描述特定物品被保持或存储在何处的信息。例如,某些物品可以仅存储在一个履行中心中,而某些其他物品可以存储在多个履行中心中。还在其他实施例中,某些履行中心可以被设计为仅存储特定的物品集合(例如,新鲜农产品或冷冻产品)。fo系统113存储该信息以及相关联的信息(例如,数量、大小、接收日期、到期日期等)。
45.fo系统113还可以为各产品计算对应的pdd(承诺交付日期)。在一些实施例中,pdd可以基于一个或多个因素。例如,fo系统113可以基于产品的过去需求(例如,在一段时间内订购该产品多少次)、产品的预期需求(例如,预测在即将到来的一段时间内多少顾客订购产品)、指示在一段时间内订购了多少产品的全网络的过去需求、指示在即将到来的一段时间内预期订购多少产品的全网络的预期需求、存储在每个履行中心200中的产品的一个或多个计数、各产品存储在哪个履行中心、该产品的预期订单或当前订单等来计算产品的pdd。
46.在一些实施例中,fo系统113可以定期(例如,每小时)为各产品确定pdd,并将pdd存储在数据库中以供检索或发送至其他系统(例如,外部前端系统103、sat系统101、装运和订单跟踪系统111)。在其他实施例中,fo系统113可以接收来自一个或多个系统(例如,外部前端系统103、sat系统101、装运和订单跟踪系统111)的电子请求,并根据需要计算pdd。
47.在一些实施例中,履行消息网关(fmg)115可以被实现为计算机系统,该计算机系统以一种格式或协议接收来自系统100中的一个或多个系统(例如,fo系统113)的请求或响应,将该请求或响应转换为另一种格式或协议,并且以转换的格式或协议将该请求或响应转发到其他系统(例如wms 119或第三方履行系统121a、121b或121c),反之亦然。
48.在一些实施例中,供应链管理(scm)系统117可以被实现为执行预测功能的计算机
系统。例如,scm系统117可以基于例如产品的过去需求、产品的预期需求、全网络的过去需求、全网络的预期需求、存储在每个履行中心200中的计数产品、各产品的预期订单或当前订单等来预测特定产品的需求水平。响应于该预测的水平和遍及所有履行中心的各产品的数量,scm系统117可以生成一个或多个购买订单以购买和贮备足够的数量以满足对特定产品的预测的需求。
49.在一些实施例中,劳动力管理系统(wms)119可以被实现为监控工作流程的计算机系统。例如,wms119可以接收来自各个装置(例如,装置107a

107c或装置119a

119c)的指示离散事件的事件数据。例如,wms 119可以接收指示使用这些装置中的一个装置来扫描包裹的事件数据。如下面关于履行中心200和图2所讨论的,在履行过程期间,可以通过在特定阶段的机器(例如自动或手持条形码扫描仪,rfid读取器,高速相机,诸如如平板电脑119a、移动装置/pda119b、计算机119c等的装置)扫描或读取包裹标识符(例如条形码或rfid标签数据)。wms 119可以将指示扫描或读取包裹标识符的每个事件与包裹标识符、时间、日期、位置、用户标识符或其他信息一起存储在对应的数据库(未图示)中,并且可以将该信息提供给其他系统(例如,装运和订单跟踪系统111)。
50.在一些实施例中,wms 119可以存储将一个或多个装置(例如,装置107a

107c或装置119a

119c)与关联于系统100的一个或多个用户相关联的信息。例如,在一些情况下,由于用户拥有移动装置(例如,移动装置是智能手机),用户(例如兼职或全职雇员)可以与移动装置相关联。在其他情况下,由于用户暂时保管移动装置(例如,用户在一天开始时签出移动装置,将在当天使用它,并且将在一天结束时归还它),用户可以与移动装置相关联。
51.在一些实施例中,wms 119可以维护与系统100相关联的每个用户的工作日志。例如,wms 119可以存储与每个雇员相关联的信息,该信息包括任何指定的过程(例如,卸载卡车、从拣货区拣选物品、合流墙(rebin wall)工作、包装物品)、用户标识符、位置(例如,履行中心200中的楼层或区)、由雇员通过系统移动的单元的数量(例如,挑选的物品的数量、包装的物品的数量)、与装置(例如,装置119a

119c)相关联的标识符等。在一些实施例中,wms 119可以从守时系统(例如在装置119a

119c上运作的守时系统)接收签到和签出信息。
52.在一些实施例中,第三方履行(3pl)系统121a

121c表示与物流和产品的第三方供应商相关联的计算机系统。例如,虽然一些产品存储在履行中心200中(如下文关于图2所讨论的),但是其他产品可以在异地存储、可以按需生产或者可能原本无法在履行中心200中存储。3pl系统121a

121c可以配置为从fo系统113接收订单(例如,通过fmg 115)并且可以直接向顾客提供产品和/或服务(例如,递送或安装)。在一些实施例中,3pl系统121a

121c中的一个或多个可以是系统100的一部分,而在其他实施例中,3pl系统121a

121c中的一个或多个可以在系统100之外(例如,由第三方供应商拥有或操作)。
53.在一些实施例中,履行中心授权系统(fc授权系统)123可以实现为具有各种功能的计算机系统。例如,在一些实施例中,fc授权系统123可以充当系统100中的一个或多个其他系统的单点登录(sso)服务。例如,fc授权系统123可以使用户能够经由内部前端系统105登录,确定用户具有访问在装运和订单跟踪系统111处的资源的类似特权,并且使用户能够访问这些特权而无需在过程中的二次登录。在其他实施例中,fc授权系统123可以使用户(例如,雇员)能够将他们自己与特定任务相关联。例如,一些雇员可能没有电子装置(例如装置119a

119c),反倒是可以在一天的过程中在履行中心200内从任务到任务以及从区到
区地移动。fc授权系统123可以配置为使这些雇员能够指示在一天中的不同时间他们正在执行什么任务以及他们正在什么区。
54.在一些实施例中,劳动管理系统(lms)125可以实现为存储雇员(包括全职和兼职雇员)的出勤和加班信息的计算机系统。例如,lms 125可以接收来自fc授权系统123、wma119、装置119a

119c、运输系统107和/或装置107a

107c的信息。
55.图1a中描述的特定配置仅仅是示例。例如,虽然图1a描述连接到fo系统113的fc授权系统123,但是并非所有实施例都需要该特定配置。实际上,在一些实施例中,系统100中的系统可以通过一个或多个公共或专用网络彼此连接,该公共或专用网络包括因特网、内联网、wan(广域网)、man(城域网)、符合ieee 802.11a/b/g/n标准的无线网络、租用线路等。在一些实施例中,系统100中的一个或多个系统可以实现为在数据中心、服务器场等处实现的一个或多个虚拟服务器。
56.图2描述履行中心200。履行中心200是当物品被订购时存储装运给顾客的物品的物理位置的示例。可以将履行中心(fc)200划分为多个区,其中每个区都被描述在图2中。在一些实施例中,这些“区”可以被认为是作为接收物品、存储物品、检索物品和装运物品的过程的不同阶段之间的虚拟划分。因此,虽然图2中描述了“区”,但是区的其他划分是可能的,并且在一些实施例中,图2中的区可以被省略、重复或修改。
57.入站区203表示fc200的从希望使用来自图1a的系统100销售产品的卖方接收物品的区域。例如,卖方可以使用卡车201递送物品202a和202b。物品202a可以表示足够大以占据其自己的装运托盘的单个物品,而物品202b可以表示在同一托盘上堆叠在一起以节省空间的一组物品。
58.工作者将在入站区203中接收物品,并且可以使用计算机系统(未图示)可选地检查物品的损坏和正确性。例如,工作者可以使用计算机系统以将物品202a和202b的数量与物品的订购数量进行比较。如果数量不匹配,则工作者可以拒绝物品202a或202b中的一个或多个。如果数量的确匹配,则工作者可以(使用例如台车、手推运货车、叉车,或手动地)将这些物品移动到缓冲区205。例如,缓冲区205可以是拣货区中当前不需要的物品的临时存储区域,因为在拣货区中有足够高的数量的该物品以满足预测的需求。在一些实施例中,叉车206操作以将物品围绕缓冲区205和在入站区203和下货区207之间移动。如果在拣货区中需要物品202a或202b(例如,由于预测的需求),则叉车可以将物品202a或202b移动到下货区207。
59.下货区207可以是fc 200的在将物品移动到拣货区209之前存储物品的区域。分配给拣货任务的工作者(“拣货员”)可以接近拣货区中的物品202a和202b,使用移动装置(例如,装置119b)扫描拣货区的条形码,以及扫描与物品202a和202b相关联的条形码。然后,拣货员可以将物品带到拣货区209(例如,通过将物品放置在推车上或搬运物品)。
60.拣货区209可以是fc 200的物品208被存储在存储单元210上的区域。在一些实施例中,存储单元210可以包括物理搁架、书架、盒子、手提袋、冰箱、冷冻柜、冷藏库等中的一个或多个。在一些实施例中,拣货区209可以组织成多层。在一些实施例中,工作者或机器可以以多种方式(包括例如叉车、电梯、传送带、推车、手推运货车、台车、自动机器人或装置,或手动地)将物品移动到拣货区209中。例如,拣货员可以将物品202a和202b放置在下货区207中的手推运货车或推车上,并且步行将物品202a和202b送到拣货区209。
61.拣货员可以接收用于将物品放置(或“堆装”)在拣货区209中的特定点(例如,存储单元210上的特定空间)的指令。例如,拣货员可以使用移动装置(例如,装置119b)扫描物品202a。装置可以(例如,使用指示过道、架子和位置的系统)指示拣货员应该将物品202a堆装到何处。然后,在将物品202a堆装在该位置之前,装置可以提示拣货员扫描在该位置处的条形码。装置可以(例如,经由无线网络)将数据发送至诸如图1a中的wms 119等计算机系统,指示使用装置119b的用户已经将物品202a堆装在该位置处。
62.一旦用户下订单,拣货员就可以在装置119b上接收从存储单元210中检索一个或多个物品208的指令。拣货员可以检索物品208,扫描物品208上的条形码,并将物品208放置在运输装置214上。在一些实施例中,虽然运输装置214表示为滑动件,但是运输装置可以实现为传送带、电梯、推车、叉车、手推运货车、台车、推车等中的一个或多个。然后,物品208可以到达包装区211。
63.包装区211可以是fc200的从拣货区209接收物品并将物品包装到盒子或袋子中以供最终装运给顾客的区域。在包装区211中,分配给接收物品的工作者(“合流工作者”)将从拣货区209接收物品208以及确定物品208对应的订单。例如,合流工作者可以使用装置(例如计算机119c)来扫描物品208上的条形码。计算机119c可以在视觉上指示物品208与哪个订单相关联。这可以包括例如对应于订单的墙壁216上的空间或“单元格”。一旦订单完成(例如,因为单元格包含订单的所有物品),合流工作者可以向包装工作者(或“包装工人”)指示订单完成。包装工人可以从单元格中检索物品并将物品放在盒子或袋子中以用于装运。然后,包装工人可以(例如经由叉车、推车、台车、手推运货车、传送带、手动地或其他方式)将盒子或袋子送到枢纽区213。
64.枢纽区213可以是fc 200的从包装区211接收所有盒子或袋子(“包裹”)的区域。枢纽区213中的工作者和/或机器可以检索包裹218以及确定每个包裹打算前往递送区域的哪个部分,并且将包裹按特定路线发送到适当的营地区215。例如,如果递送区域具有两个较小的子区域,则包裹将前往两个营地区215之一。在一些实施例中,工作者或机器可以(例如,使用装置119a

119c之一)扫描包裹以确定包裹的最终目的地。将包裹按特定路线发送到营地区215可以包括例如(例如,基于邮政编码)确定包裹去往的地理区域的一部分以及确定与该地理区域的该部分相关联的营地区215。
65.在一些实施例中,营地区215可以包括一个或多个建筑物、一个或多个物理空间或一个或多个区域,在这里从枢纽区213接收包裹以用于将包裹分类到路线和/或子路线中。在一些实施例中,营地区215与fc 200物理分离,而在其他实施例中,营地区215可以形成fc 200的部分。
66.营地区215中的工作者和/或机器可以(例如,基于目的地与现有路线和/或子路线的比较、每个路线和/或子路线的工作量的计算、一天中的时间、装运方法、装运包裹220的成本、与包裹220中的物品相关联的pdd等)确定包裹220应该与哪个路线和/或子路线相关联。在一些实施例中,工作者或机器可以(例如,使用装置119a

119c之一)扫描包裹以确定包裹的最终目的地。一旦将包裹220分配给特定路线和/或子路线,工作者和/或机器就可以移动将要装运的包裹220。在示例性图2中,营地区215包括卡车222、汽车226和递送工作者224a和224b。在一些实施例中,卡车222可以由递送工作者224a驾驶,其中递送工作者224a是为fc 200递送包裹的全职雇员,并且卡车222由拥有、租赁或操作fc 200的同一公司拥
有、租赁或操作。在一些实施例中,汽车226可以由递送工作者224b驾驶,其中递送工作者224b是在根据需要的基础上(例如,季节性地)递送的“弹性工作制的”或临时的工作者。汽车226可由递送工作者224b拥有、租赁或操作。
67.图3描绘了示出接口图300的示例性实施例的示意性框图,在接口图300中,通信接口301用作内部通信网络323与一个或多个外部通信网络333a

c之间的接口。在一些实施例中,内部系统321可以包括图1a所示的系统中的一个或多个系统,诸如供应链管理系统(scm)325、履行优化系统(fo)327或履行中心授权系统(fc授权系统)329。附加地或替代地,内部系统321可以包括上文结合图1a所公开的其他系统。在一些实施例中,内部系统321中的各个系统可以经由内部通信网络323彼此通信或相互通信。同样,在一些实施例中,内部通信网络323和外部通信网络333a

c可以包括一个或多个公共网络或专用网络,包括因特网、内联网、wan(广域网)、man(城域网)、符合ieee 802.11a/b/g/n标准的无线网络、租用线路等等。
68.虽然示出了三个外部系统331a

c,但是通信接口301使得能够与任意数量的外部系统进行通信,这对于本领域的普通技术人员来说是显而易见的。外部系统331a

c中的每一个可以包括不同的系统群组,例如第三方履行335a

c。外部系统331a

c每一个都可包括与上文结合图1a所描述的那些系统类似的附加系统或适合其相应需求的其他系统。
69.在一些实施例中,通信接口301可以使得内部系统321能够与多个外部系统331a

c进行通信。相应外部系统331a

c内的每个系统群组可以经由它们自己的各个体内部网络(在下文中被称为外部通信网络333a

c)彼此通信或相互通信。附加地或替代地,可以在内部通信网络323和一个或多个外部通信网络333a

c之间实现多个通信接口,每个通信接口专用于不同的功能,例如管理订单、管理库存、管理劳动力等。在一些实施例中,内部系统321和外部系统331a

c中的每一个可以作为独立的非重叠性网络运行,其中一个通信网络内的各个系统都不是另一通信网络的一部分。
70.在一些实施例中,内部通信网络323和外部通信网络333a

c可以使用本领域中已知的一个或多个api来实现。在一些实施例中,api可以包括允许一个系统访问另一系统的特征或数据的功能和过程的集合。内部通信网络323和外部通信网络333a

c可以使用诸如代表性状态传输(rest)api、restful api、文件传输api、数据库到数据库api、简单对象访问协议(soap)api、远程过程调用(rpc)api等api来实现。
71.在一些实施例中,内部通信网络323和外部通信网络333a

c可以使用一种或多种通信协议来发送和接收信号。通信协议可以是用于将数据串行化的规则和语法的集合。在一些实施例中,通信协议可以包括javascript对象表示法(javascript object notation,json)、yaml非标记语言(yaml ain't markup language,yaml)、可扩展标记语言(extensible markup language,xml)、汤姆的明显最小化的语言(tom’s obvious minimal language,toml)、coffeescript对象表示法(coffeescript object notation,cson)、消息包(messagepack)等中的至少一种。
72.由此,内部通信网络323和外部通信网络333a

c可以使用如上所述的api和通信协议的无数组合来实现。在一些实施例中,通信接口301可以被实现为从一端接收消息并且通过另一端发送翻译消息的计算机系统。例如,通信接口301可以经由其利用特定通信方案(例如,使用rest api的xml协议)的相应外部通信网络333a从特定外部系统(例如,外部系
统331a)接收入站消息。然后,通信接口301可以将该消息转换成由内部通信网络323所利用的通信方案(例如,使用soap api的json协议)。
73.在一些实施例中,外部通信网络(例如,333a)和内部通信网络323可以实现统一通信方案,该统一通信方案包括一组预定义的数据字段、特定数据格式和通信协议。该统一通信方案可以是由内部系统321的运营商建立和实施的特定方案,即,同意由必须与内部系统321进行通信的一个或多个第三方使用的通信方案,或者同意由多方的群组使用的通信方案。
74.所公开的通信方案的特定组合仅是示例性的,并且可以根据需要使用其他组合。另外,不同的通信网络可以利用相同或部分相同的组合。
75.在一些实施例中,通信接口301还可以从利用不同通信方案(例如,使用rpc api的yaml协议)的另一外部系统(例如,外部系统331b)接收消息,并将该消息转换成由内部通信网络323所使用的相同通信方案(即,使用soap api的json协议)。换言之,通信接口301可以将来自不同外部通信网络333a

c的非标准化消息标准化成由内部通信网络323所利用的标准通信方案。在一些实施例中,通信接口301还可以用该标准通信方案从内部系统接收出站消息,并在将这些出站消息转换成特定外部通信网络(例如,外部通信网络333c)所利用的非标准化格式之后,将其发送到该特定外部通信网络。
76.附加地或替代地,通信接口301可以用统一的通信方案从另一外部系统(例如,外部系统331c)接收消息。在这种情况下,通信接口301可以在加速转换(下面解释)之后将接收到的消息路由到其预期的目的地;或者,如果内部通信网络323的通信方案与统一通信方案相同,则通信接口301可以将接收到的消息直接路由到其目的地系统(例如fo 327),而无需进行任何转换。
77.在一些实施例中,通信接口301可以包括入站端点层303、入站转换层305、路由层307、出站转换层309和出站端点层311。在一些实施例中,每个层都可以被实现为专用系统、软件功能、可编程子单元等。
78.图4描绘了示例性计算机化的入站消息路由过程400的流程图。入站消息路由过程400的不同步骤可以由通信接口301的不同层(层303

311)执行。下面参考图3的不同元素来描述每个步骤。
79.在步骤401,入站端点层303可以从一个或多个外部通信网络333a

c接收入站消息。入站消息可以采用非标准化格式,适于根据其通信方案在其所来自的外部通信网络中使用,而不一定可由内部通信网络323读取。替代地或附加地,入站消息可以采用统一通信格式,可由内部通信网络323读取,而无需进行任何转换或仅进行最少量的转换。
80.一旦被接收,入站端点层303可以在步骤403将入站消息解析为其分量,以标识消息头和消息体。在一些实施例中,消息头可以包含与入站消息的起点和目的地有关的信息。例如,消息头可在第一部分标识它所来自的始发外部系统(例如,第三者履行系统335a),而在第二部分以将内部系统321内的目的地内部系统(例如,scm 325)标识为其目的地。
81.在一些实施例中,入站端点层303可能能够通过基于该消息内的始发外部系统的网络地址(例如,ip地址)识别外部通信网络(例如333a)来标识和解析消息头。例如,入站端点层303可以将网络地址与一列已知的外部通信网络(即,333a

c)进行匹配,以标识外部通信网络和对应的通信协议。然后,入站端点层303可以使用该信息来解析消息头,并标识始
发外部系统和目的地内部系统,如以上所描述的那样。
82.通信接口301还可以包括存储器或数据库(未示出),该存储器或数据库被配置成存储关于外部系统331a

c、对应的外部通信网络333a

c及其相应的通信方案的信息。该信息可以进一步包括预先配置的接口设置,该接口设置指定如何基于内部通信网络323的通信方案和特定的外部通信网络(例如333a)来将非标准化入站消息中包含的数据转换为标准化格式。例如,预先配置的接口设置可以包括关于入站消息所来自的外部通信网络(例如,333a)所使用的api和通信协议的信息。在一些实施例中,可以将预先配置的接口设置、其对应的通信协议及其相关联的外部通信网络(例如,333a

c)的组合存储在查找表、阵列集合等中。
83.在一些实施例中,预先配置的接口设置可以包括关于特定外部通信网络的采用非标准化格式的入站消息的框架或文件结构的信息、入站消息应当包含的数据字段、关于入站消息的数据字段如何对应于内部通信网络323的标准化格式的数据字段的对应关系信息、应当如何基于对应的通信协议将入站消息体解串行化等等。在一些实施例中,预先配置的接口设置还可以包括关于采用标准化格式的出站消息的数据字段如何对应于采用非标准化格式的出站消息的数据字段的对应关系信息。下面将结合出站转换层309更详细地解释将出站消息转换成非标准化格式的细节。
84.在步骤405

411,入站转换层305可以被配置成从入站端点层303接收起点和目的地信息,并且将入站消息从非标准化格式转换为内部通信网络323的标准化格式。
85.入站转换层305可以使用在步骤405从存储器或数据库标识并检索的预先配置的接口设置来执行该转换。在步骤407,入站转换层305可以基于对应于外部通信网络的通信协议,将入站消息体解串行化,其中该入站消息来自该外部通信网络(例如333a)。将消息体解串行化可以包括例如将消息体解析成多个单独的数据对象,向这些对象分配属性,标识变量之间的关系等,从而在从对应的外部通信网络(例如,333a)进行发送之前,重新创建消息体最初所在的底层数据结构。解串行化的过程可以标识不同数据字段、变量、相应的值以及经解串行化的消息中包含的变量的数据结构。
86.然后,在步骤409,入站转换层305可以基于预先配置的接口设置,以标准化格式单独并自动地将所标识的数据的值分配给相应的数据字段、变量和数据结构。
87.在一些实施例中,入站转换层305可以被进一步配置成识别所标识的数据的值,并且在被称为数据专用表示法转换过程的过程中,将这些值适当地转换成标准化表示法。该过程可以包括:将值与数据专用表示法列表匹配,标识该值匹配特定表示法,以及基于该标识将该值转换成标准化表示法。例如,数据专用表示法列表可以包括指定时间的不同方式(诸如,h:m:s、hhmmss、24小时记法等);指定日期的不同方式(诸如,yyyymmdd、mm

dd

yy等);以及指定地址的不同方式(诸如,具有或不具有缩写、不同国家名称、通常拼错的地址等)。一旦某个值被标识为匹配列表上的表示法中的任何一个,则入站转换层305就可以将其转换成标准化格式的预定表示法。
88.在一些实施例中,入站转换层305还可被配置为执行各种错误捕获机制。例如,在一些实施例中,入站消息中包含的数据的子集可能没有标准化格式的对应数据字段。在这种情况下,可以将特定数据丢弃,或者将其作为额外信息附加到标准化消息中。在一些实施例中,入站转换层305还可以生成错误消息,该错误消息将被发送到始发外部系统和目的地
内部系统两者。替代地或附加地,入站转换层305可以将特定数据发送到出站转换层305,使得来自内部系统321的对发送入站消息的同一外部系统的后续响应可以包含该特定数据。
89.同样,在一些实施例中,标准化格式可以包括在来自特定外部通信网络的非标准化入站消息中没有对应关系的一个或多个数据字段。在该情况下,入站转换层305可以简单地忽略该数据字段或将预定默认值分配给该数据字段。在一些实施例中,入站转换层305还可以生成错误消息,该错误消息将被发送给始发外部系统和目的地内部系统两者。
90.在步骤411,入站转换层305还可以被配置为根据内部系统321的通信协议,将标准化消息体重新串行化。将标准化消息体重新串行化可以包括:根据内部通信网络323的通信协议所要求的语法,将数据字段及其相应的值布置在序列中。对入站消息进行解串行化、转换和重新串行化的该过程允许对入站消息重新打包,而不管其在中央接口处选择的通信方案为何,从而使得内部系统321可以发送和接收标准化入站消息,而不必在各个系统处转换该消息,也不用花费资源来确保兼容性。
91.在步骤413,路由层307可以被配置成接收目的地信息和标准化入站消息体,并通过内部通信网络323将该消息发送到内部系统321内的相应系统(例如,scm 325,fo 327或fc授权系统329)。发送该消息可进一步包括标识内部通信网络323内的相应系统的网络地址。
92.在其中入站端点层303在步骤403标识出该消息是使用统一通信方案来发送的一些实施例中,入站转换层305可以跳过步骤405

411,并在步骤413将该消息发送到目的地内部系统。在这种情况下,该消息可以是能由内部系统(例如,scm 325、fo 327或329fc授权系统)中的任何一个直接读取而无需任何转换,就好像该消息源自内部系统中的另一个一样。
93.在其中入站端点层303还标识出该消息是使用统一通信方案来发送的其他实施例中,入站转换层305可以经由加速转换过程将该消息转换成标准化格式。在这种情况下,加速转换过程仍可执行步骤405

411,但其中步骤409经过了修改。更具体地,经解串行化的消息的数据字段、变量和相应的值中的每一个可以与标准化格式中的每一数据字段、变量和相应值具有一一对应关系。可以将这样的一一对应关系存储在专门的预先配置的接口设置中,该专门的预先配置的接口设置不包括在转换期间通常执行的任何错误捕获机制,诸如解释在标准化格式中没有对应关系的数据字段,或者反之亦然。在一些实施例中,专门的预先配置的接口设置还可以禁用以上描述的数据专用表示法转换过程。
94.在统一通信方案中对消息使用加速转换过程可以使入站转换层305能够快速地将经解串行化的消息的数据分配给标准化格式中的相应位置。因此,使用统一通信方案发送消息可以使网络延迟和计算资源的消耗最小化。虽然对于个别消息而言这样的改进可能是微不足道的,但是在其中通信接口301每天可路由数百万或数十亿条消息的大型系统中,这种改进可以带来显著的益处。
95.对于源自内部系统(例如,scm 325)以供发送到外部系统(例如,335a)的出站通信,出站端点层311可以被配置成接收出站消息,并执行以上结合入站端点层303所描述的类似功能。例如,在步骤501,出站端点层311可以接收出站消息,该出站消息包括出站消息体和指示始发内部系统(即,scm 325)和目的地外部系统(即,335a)的变量。在一些情况下,出站端点层311可能需要解析出站消息,以便以与入站端点层303所执行的过程相类似的过程来标识起点和目的地信息。
96.在步骤503,出站转换层309可以从以上描述的存储器或数据库中标识并检索对应于目的地外部系统(即,335a)的预先配置的接口设置。例如,出站转换层309可以标识对应于目的地外部系统(即,331a)的外部通信网络(例如,333a)、所标识的外部通信网络(例如,333a)的通信方案,并检索用于所标识的通信方案的预先配置的接口设置。
97.在步骤505、507和511,出站转换层309可以基于所标识的通信方案将出站消息进行解串行化、转换和重新串行化。在一些实施例中,该过程可与入站转换层305所执行的过程类似,但是反向进行,其中,出站消息的数据字段的值被单独地并且自动地分配给非标准化格式的对应数据字段。
98.在一些实施例中,出站消息中包含的数据的子集可以不具有非标准化格式中的对应数据字段。在这种情况下,可以将特定数据丢弃,或者作为额外的信息附加到非标准化消息中。在一些实施例中,出站转换层309还可以生成错误消息,该错误消息将被发送到始发内部系统(即,scm 325)和目的地外部系统(即,335a)两者。作为替换,出站转换层309可以将特定数据发送到入站转换层305,使得来自特定外部系统(即,335a)的对发送入站消息(即,scm 325)的同一内部系统的后续响应可以包含该特定数据。更进一步,在一些实施例中,非标准化格式可以包括在出站消息中没有对应关系的一个或多个数据字段。在这种情况下,出站转换层309可以简单地忽略该数据字段或者将预定默认值分配给该数据字段。出站转换层309还可以生成错误消息,该错误消息将被发送给始发内部系统(即,scm 325)和目的地外部系统(即,335a)两者。
99.在步骤509,出站转换层309可以将消息头附加到出站消息,这类似于上文所描述的入站消息包括消息头和消息体的方式。消息头可以包含与始发内部系统(例如,fo 327)和目的地外部系统(例如,第三方履行335c)有关的信息。
100.在步骤513,路由层307可以以与上文结合将标准化入站消息发送到内部系统所描述的类似过程的方式,将非标准化出站消息发送到目的地外部系统。在一些实施例中,路由层307还可将认证数据发送到目的地外部通信网络(例如,333b),以便内部系统321与目的地外部系统(例如,331b)之间的安全通信。
101.在其中出站端点层311在步骤503标识出目的地外部通信网络可以接受采用统一通信方案的消息的一些实施例中,出站转换层309可以跳过步骤505

511,并在步骤513将该消息发送到目的地外部系统。在这种情况下,统一通信方案可以与内部通信网络323所使用的通信方案相同。
102.在出站端点层311还标识出目的地外部通信网络可接受采用统一通信方案的消息的其他实施例中,出站转换层309可以经由加速转换过程将出站消息转换成统一通信格式。在这种情况下,加速转换过程仍可执行步骤505

511,但其中步骤507经过了修改。更具体地,经解串行化的消息的数据字段、变量和相应的值中的每一个可以与统一通讯格式中的每个数据字段、变量和相应的值具有一一对应关系。类似于以上描述的针对入站消息的加速转换过程,可以将这样的一一对应关系存储在专门的预先配置的接口设置中。
103.接着,在上文结合图1a所描述的系统的上下文中,描述通信接口301的示例性应用。
104.返回参考图1a,系统100可以是包括经由网络彼此通信的许多不同系统的实体的示例。系统100可能还需要经由fmg 115与第三方系统(诸如,3pl系统121a

c)进行通信。在
一些实施例中,fmg 115可以是以上描述的通信接口301的示例。这允许诸如fo系统113、scm系统117和fc授权系统123之类的内部系统与诸如3pl系统121a

c之类的外部系统进行通信,从而使得能够通过内部仓库和第三方仓库的网络来协调订单履行,而无需在履行中心200内存储所有产品库存。
105.例如,系统100可以经由内部前端系统105接收来自客户的订单。该订单可以包括存放在履行中心200中的一个或多个物品(例如,打印机、椅子、记事本等)、存放在相应制造商的仓库内的大件物品(例如,冰箱)、以及直接从设计师那里设计和装运的定制设计的珠宝件。
106.然后,处理订单可能需要系统100的不同系统、制造商的系统和设计者的系统之间的通信,其中这些系统可以使用不同的通信方案进行通信。在该示例中,制造商系统可能需要从系统100接收订单,以便准备和装运大件物品并将订单状态发送回系统100。另一方面,设计者系统可能需要从系统100接收订单以及定制的细节,并向系统100发送订单状态、预期完成时间等。据此,除了三种系统的通信方案之间的任何差异之外,制造商系统与系统100之间的消息可能还需要不同的参数、消息结构等。
107.在一些实施例中,制造商系统还可以被配置成从系统100的供应链管理系统117接收即将到来的假期季的预期订单量,这将需要不同于为处理以上订单而接收的参数的新参数集合。其他系统(诸如,3pl系统121a

c)也可以提供相应的第三方实体的工作人员信息,从而使得fmg 115以及由此系统100能够与3pl系统121a

c进行通信,就好像它是系统100的一部分一样。
108.虽然已经参考本公开的特定实施例示出并描述了本公开,但是应该理解,本公开可以在其他环境中实施而无需修改。前面的描述是为了说明的目的而呈现的。这不是穷尽的,并不限于所公开的精确形式或实施例。通过考虑所公开的实施例的说明书和实践,修改和调整对于本领域技术人员将是显而易见的。另外,尽管所公开的实施例的方面被描述为存储在存储器中,但是本领域技术人员将理解,这些方面也可以存储在其他类型的计算机可读介质中,例如辅助存储设备(例如硬盘或cd rom)、或其它形式的ram或rom、usb介质、dvd、蓝光光盘或其它光驱介质。
109.基于书面描述和公开方法的计算机程序在经验丰富的开发人员的技能范围之内。可以使用本领域技术人员已知的任何技术来创建各种程序或程序模块,或者可以结合现有软件设计各种程序或程序模块。例如,程序部分或程序模块可以在如下方法中设计或通过如下方法设计:.net framework、.net compact framework(以及相关语言,例如visualbasic,c等)、java、c 、objective

c、html,、html/ajax组合、xml、或者包含java applet的html。
110.此外,虽然本文已经描述了说明性的实施例,但是具有等同元件、修改、省略、组合(例如,跨越多个实施例的方面)、适配和/或改变的任何和所有实施例的范围,将被本领域技术人员基于本发明的技术所理解。权利要求中的限制将基于权利要求书中使用的语言而广泛地解释,并且不限于本说明书中或在本申请的审查期间描述的示例。这些示例应被解释为非排他性的。此外,所公开的方法的步骤可以以任何方式进行修改,包括通过重新排序步骤和/或插入或删除步骤。因此,说明书和示例仅视为说明性的,其真实范围和精神由所附权利要求及其等同物的全部范围所指示。

技术特征:
1.一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的系统,所述系统包括:存储器强指令;以及至少一个处理器,所述至少一个处理器被配置成执行所述指令,以用于:从所述通信网络集合中的第一通信网络接收第一消息,所述第一消息包括第一未知消息头和第一未知消息体;解析所述第一未知消息头,以确定对应于所述第一通信网络的身份的第一变量以及对应于第一目的地的第二变量;基于预先配置的数据结构和所述第一变量,标识所述第一未知消息头和所述第一未知消息体采用预定格式;基于所述预定格式,将所述第一未知消息体解串行化成其底层数据结构;通过加速转换过程将所述第一未知消息体转换成所述第二通信网络的标准化格式;将标准化消息体重新串行化以供传输;以及基于所述第二变量,将第一标准化消息体发送到所述第一目的地。2.根据权利要求1所述的计算机实现的系统,所述指令进一步包括:从所述第二通信网络接收第二消息,所述第二消息包括第二标准化消息体和第二目的地;标识所述第二消息的第二通信协议以及所述通信网络集合中的第三通信网络;确定所述第三通信网络能够接收所述预定格式的消息;通过所述加速转换过程将所述第二标准化消息转换成所述预定格式;将所述第二经转换的消息串行化以供传输;以及将所述第二经转换的消息发送到所述第二目的地。3.根据权利要求2所述的计算机实现的系统,其中,转换所述第二标准化消息包括:将第二消息头附加到所述第二经转换的消息,所述第二消息头包括对应于所述第二目的地的第三变量。4.根据权利要求1所述的计算机实现的系统,其中,所述第一消息是使用代表性状态传输(rest)api、restfulapi、文件传输api、数据库到数据库api、简单对象访问协议(soap)api、或远程过程调用(rpc)api中的至少一个来接收的。5.根据权利要求1所述的计算机实现的系统,其特征在于,所述第一通信协议包括javascript对象表示法(json)、yaml非标记语言(yaml)、可扩展标记语言(xml)、汤姆的明显最小语言(toml)、coffeescript对象表示法(cson)或消息包中的至少一个。6.根据权利要求1所述的计算机实现的系统,其中,所述预先配置的数据结构将一个或多个已知的通信网络与一个或多个通信协议进行匹配,所述一个或多个通信协议包括对应于所述预定格式的预定通信协议。7.根据权利要求1所述的计算机实现的系统,其中,所述通信网络集合中的各个通信网络与所述第二通信网络不重叠,并且相互之间也不重叠。8.根据权利要求1所述的计算机实现的系统,其中,所述第一未知消息体包括一个或多个变量,并且其中,将所述第一未知消息体转换成标准化格式包括:基于所述预先配置的数据结构,确定所述预定格式与所述第二通信网络的标准化格式
之间的接口映射;以及基于所述接口映射,将所述第一未知消息体的变量的值分配给所述标准化格式的相应变量。9.根据权利要求1所述的计算机实现的系统,其中,采用所述预定格式的每一元素与其采用所述标准化格式的对应元素有一一对应关系。10.一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的方法,该方法包括:从所述通信网络集合中的第一通信网络接收第一消息,所述第一消息包括第一未知消息头和第一未知消息体;解析所述第一未知消息头,以确定对应于所述第一通信网络的身份的第一变量以及对应于第一目的地的第二变量;基于预先配置的数据结构和所述第一变量,标识所述第一未知消息头和所述第一未知消息体采用预定格式;基于所述预定格式,将所述第一未知消息体解串行化成其底层数据结构;通过加速转换过程将所述第一未知消息体转换成所述第二通信网络的标准化格式;将标准化消息体重新串行化以供传输;以及基于所述第二变量,将第一标准化消息体发送到所述第一目的地。11.根据权利要求10所述的计算机实现的方法,所述方法进一步包括:从所述第二通信网络接收第二消息,所述第二消息包括第二标准化消息体和第二目的地;标识所述第二消息的第二通信协议以及所述通信网络集合中的第三通信网络;确定所述第三通信网络能够接收所述预定格式的消息;通过所述加速转换过程将所述第二标准化消息体转换成所述预定格式;将所述第二经转换的消息串行化以供传输;以及将所述第二经转换的消息体发送到所述第二目的地。12.根据权利要求11所述的计算机实现的方法,其中,将所述第二标准化消息体发送到所述第二目的地包括:将第二消息头附加到所述第二经转换的消息体以创建第二经转换的消息,所述第二经转换的消息头包括对应于所述第二目的地的第三变量;以及使用所述第二外部通信网络将所述第二经转换的消息发送到所述第二目的地。13.根据权利要求10所述的计算机实现的方法,其中,所述第一消息是使用代表性状态传输(rest)api、restfulapi、文件传输api、数据库到数据库api、简单对象访问协议(soap)api、或远程过程调用(rpc)api中的至少一个来接收的。14.根据权利要求10所述的计算机实现的方法,其中,所述第一通信协议包括javascript对象表示法(json)、yaml非标记语言(yaml)、可扩展标记语言(xml)、汤姆的明显最小语言(toml)、coffeescript对象表示法(cson)或消息包中的至少一个。15.根据权利要求10所述的计算机实现的方法,其中,所述预先配置的数据结构将一个或多个已知的通信网络与一个或多个通信协议进行匹配,所述一个或多个通信协议包括对应于所述预定格式的预定通信协议。
16.根据权利要求10所述的计算机实现的方法,其中,所述通信网络集合中的各个通信网络与所述第二通信网络不重叠,并且相互之间也不重叠。17.根据权利要求10所述的计算机实现的方法,其中,所述第一未知消息体包括一个或多个变量,并且其中,将所述第一未知消息体转换成标准化格式包括:基于所述预先配置的数据结构,确定所述预定格式与所述第二通信网络的标准化格式之间的接口映射;以及基于所述接口映射,将所述第一未知消息体的变量的值分配给所述标准化格式的相应变量。18.根据权利要求10所述的计算机实现的方法,其中,采用所述预定格式中的每一元素与其采用标准化格式的对应元素具有一一对应关系。19.一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的系统,所述系统包括:入站端点层,所述入站端点层被配置成从所述通信网络集合中的第一通信网络接收入站消息,所述入站消息包括未知入站消息头和未知入站消息体,所述入站端点层还包括入站解析器,所述入站解析器被配置成解析所述未知入站消息头,以确定对应于所述第一通信网络的身份的第一部分以及对应于位于所述第二通信网络内的第一目的地的第二部分;入站转换层,所述入站转换层被配置成基于所述第一部分以及已知通信网络的预先配置的数据结构,通过加速转换过程将所述未知入站消息体转换成标准化格式;路由层,所述路由层被配置成将标准化入站消息体发送到所述第一目的地;出站端点层,所述出站端点层被配置成从所述第二通信网络接收出站消息,所述出站消息包括标准化出站消息体以及位于所述通信网络集合中的第三通信网络内的第二目的地;以及出站转换层,所述出站转换层被配置成基于所述第二目的地和所述预先配置的数据结构,将所述标准化出站消息体转换成预定格式;其中,所述路由层还被配置成将所述非标准化出站消息体发送到所述第二目的地。20.根据权利要求19所述的计算机实现的系统,其中,所述出站转换层还被配置成通过以下方式转换所述标准化出站消息体:基于所述预先配置的数据结构,标识对应于所述第二目的地的所述第三通信网络;以及将出站消息头附加到所述非标准化出站消息体,以创建非标准化出站消息,所述出站消息头包括对应于所述第二目的地的第一数据字段。
技术总结
公开了一种用于将一个或多个通信网络的集合与第二通信网络对接的计算机实现的系统。该系统可包括存储器强指令以及至少一个处理器,该至少一个处理器被配置成执行这些指令。这些指令可包括:从第一通信网络接收第一消息,该第一消息包括第一未知消息头和第一未知消息体;解析第一未知消息头,以确定对应于第一通信网络的身份的第一变量以及对应于第一目的地的第二变量;标识第一未知消息头和第一未知消息体采用预定格式;通过加速转换过程将第一未知消息体转换成第二通信网络的标准化格式;基于第二变量,将第一标准化消息体发送到第一目的地。到第一目的地。到第一目的地。


技术研发人员:贤植
受保护的技术使用者:韩领有限公司
技术研发日:2020.09.21
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-200.html

最新回复(0)