具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者制造技术

技术编号:8983316 阅读:254 留言:0更新日期:2013-08-01 02:04
一种使用提供者服务获取数据并对该数据执行计算的方法。提供者票单服务(PTS)从一个或多个客户端接收票单。每个票单包括计算标识符和有效载荷。计算标识符识别使用有效载荷中的信息待执行的计算。PTS将唯一的票单标识符与每个票单相关联。票单管理器将来自PTS的选定的票单提交给提供者宿主服务(PHS);其通过检查选定的票单中的提供者标识信息来确定哪一提供者将执行由选定的票单识别的计算。PHS启动调用被确定执行由选定的票单的计算标识符识别的计算的提供者的提供者宿主线程(PHT)。该提供者执行计算并将结果返回给PHS,PHS将结果传递回PTS,而PTS将结果返回给发出请求的客户端。

【技术实现步骤摘要】
【国外来华专利技术】具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者专利
本专利技术一般涉及面向服务的架构(SOA),更特别涉及具有可脚本化、可扩展和可定制的计算引擎的网络服务提供者的面向服务的架构内的提供者服务。背景电力管理软件收集通过电力监控系统的各种监控设备如电表测得的数据并分析测得的数据,以帮助设施运营商降低与能源相关的成本,通过使运营商快速响应报警以避免危急情况来避免停止运行,并通过例如识别用于提高效率的机会来优化设备利用率。此软件通常运行在通过网络上收集测量的数据的服务器或工作站上。模块形式的功能可以与软件一起提供,但软件不是特别可扩展、可扩充和可定制的。添加新的模块来对测量数据执行不同的计算,目前是一项费时和劳动密集的任务,特别是通过第三方完成时。缺乏对请求的计算的集中管理的处理,导致重复的存储和计算,及任务的非粘性的(non-cohesive)协调和管理,从而延缓将相关的、有意义的信息最终报告给设施运营商,并导致处理和存储器资源的使用效率低下。
技术实现思路
根据本公开的一个方面,公开了一种使用提供者服务获取数据并对所述数据执行计算的方法。该方法包括:在提供者票单服务,从一个或多个客户端接收多个票单(Ticket),每个所述票单包括计算标识符和有效载荷,所述计算标识符识别使用至少在所述票单的有效载荷中指示的信息待执行的计算;对于在所述提供者票单服务接收到的每个所述票单,将唯一的票单标识符与各相应的票单相关联;票单管理器将来自所述提供者票单服务的选定的票单提交给提供者宿主服务;确定多个提供者中的哪一个或多个将执行由所述选定的票单的所述计算标识符识别的计算;所述提供者宿主服务启动至少一个提供者宿主线程,所述至少一个提供者宿主线程调用或实例化被确定来执行由所述选定的票单的所述计算标识符识别的计算的一个或多个提供者;在所述提供者票单服务从所述提供者宿主服务接收由所述被调用的一个或多个提供者执行的计算的结果,及将所述结果返回给与所述选定的票单相关联的发起请求的客户端。该方法还可以包括,在执行由所述选定的票单请求的计算之前,确定由所述选定的票单请求的计算是否已经执行,并且,如果已经执行,获取先前计算的结果,并将所述先前计算的结果作为待返回的结果返回到与所述选定的票单相关联的发起请求的客户端。该方法还可以包括:将所述先前计算的结果存储在所述提供者票单服务的数据存储器中。该方法还可以包括,在执行由所述选定的票单请求的计算之前,确定是否另一提供者正在执行由所述选定的票单请求的计算的过程中,且如果是的话,等待所述另一提供者执行所述计算并提供结果,并将来自所述另一提供者的结果作为待返回的结果返回给与所述选定的票单相关联的所述发出请求的客户端。该方法还可以包括:基于至少一个标准,确定是否存储所述结果;及响应于所述至少一个标准被满足,将所述结果存储在所述提供者票单服务的数据存储器中。所述至少一个标准可以包括:(a)由所述选定的票单请求的计算是否已经被至少一个其它的客户端请求;(b)所述结果被预期请求或已被请求的频率;(c)用于执行所述计算的数据是否在预定的时间期间之内。所述标准还可以或可替代地基于由所述选定的票单请求的计算被所述一个或多个客户端的其他客户端请求的频率。该方法还可以包括:从提供所述第一票单的所述客户端接收利用与所述第一票单相关联的所述票单标识符对所述结果的请求;及响应于从发出请求的客户端接收到所述请求,在所述数据存储器中查询所述结果。所述方法还可以包括将提供者标识插入到所述选定的票单中,所述提供者标识识别所述一个或多个提供者中的哪一个将被调用用于执行由所述选定的票单的所述计算标识符识别的计算。所述方法还可以包括:将与所述选定的票单相关联的所述票单标识符发送到发送所述选定的票单的所述客户端。所述方法还可以包括:从所述一个或多个客户端接收对所述选定的票单的状态的请求;响应于接收到对所述选定的票单的状态的请求,所述提供者票单服务在票单状态表中查询所述选定的票单的状态;及所述提供者票单服务将所述选定的票单的状态发送到请求所述选定的票单的状态的客户端,所述状态包括所述选定的票单的处理是否挂起或正在进行中的指示,且如果所述选定的票单的状态是正在进行中,所述票单提供者服务还发送关于多少处理已完成或尚待完成以产生所述结果的指示。所述被调用的提供者可使用托管在所述提供者宿主服务的本地或所述提供者宿主服务的外部的输入数据进行待执行的计算,所述提供者宿主服务还至少部分地基于本地或外部数据。该方法还可以包括:所述被调用的提供者向由所述提供者票单服务托管的数据存储器或托管在所述提供者宿主服务和所述提供者票单服务外部的数据服务请求在所述票单的有效载荷中指示的信息;及响应于所述被调用的提供者请求所述信息,所述被调用的提供者从所述数据存储器或外部的数据服务接收输入数据,并使用所接收到的输入数据执行由所述选定的票单请求的计算。该方法还可以包括:使用票单管理器,根据队列将所述票单存储在票单存储器中;识别每个所述票单的状态并将包括所述选定的票单的每个所述票单的状态的指示存储在票单状态表中;在每次所述票单中的选定的票单的状态被识别为挂起时,增加挂起的票单计数;在所述票单存储器中查询在所述队列的前面的所述票单中的第一个;及根据所述第一个票单从所述多个提供者中识别要被调用的至少一个提供者来执行由所述第一个票单的计算标识符指示的计算。该方法还可以包括响应于在所述提供者票单服务接收到所述选定的票单,在所述票单状态表中将所述选定的票单的状态从挂起更新为在进行中。该方法还可以包括:将所述结果存储在所述提供者票单服务的数据存储器中;及响应于将所述结果存储在所述提供者票单服务的数据存储器中,在所述票单状态表中将所述选定的票单的状态从在进行中更新为完成。所述票单中的至少一些票单中的每个还包括指示相对于其他票单的调用的优先级顺序的优先级字段,所述第一个票单在对应的优先级字段中包括与所述其他票单中的至少一些票单相比较高的优先级顺序。该方法还可以包括,响应于将所述结果返回到与所述选定的票单相关的客户端,从所述票单存储器中删除所述选定的票单并从所述票单状态表中删除所述选定的票单的状态。该方法还可以包括:在所述提供者票单服务接收取消所述票单之一的请求;所述提供者票单服务基于所述被取消的票单中的提供者标识信息,确定通知哪一提供者;通知被确定为与所述待被取消的票单相关联的提供者,所述待被取消的票单已经接收到取消请求;及取消所述待被取消的票单。该方法可以还包括响应于在所述提供者票单服务接收到所述多个票单,通过可扩展的标记语言(XML)格式化每个所述票单,或将所述每个票单格式化为JavaScript对象表示(JSON)格式。所述有效载荷可包括执行与所述计算标识符相关联的计算所需要的一组输入或参数。所述一组输入或参数包括指示执行与所述计算标识符相关联的计算所需要的至少一些数据的源的源标识。该方法还可以包括:与所述选定的票单相关联的被调用的提供者至少部分地基于所述选定的票单的有效载荷执行由所述选定的票单的计算标识符所指示的计算;及响应于执行所述计算,所述被调用的提供者输出与所述选定的票单相关联的所述计算的结果。该方法还可以包括所述提供者宿主服务还托管被本文档来自技高网...
具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.28 US 12/892,5041.一种使用提供者服务在计算机系统上获取数据并执行计算的方法,包括:在实现于所述计算机系统的第一过程中的提供者票单服务处从一个或多个客户端接收多个有效载荷,所述有效载荷识别将至少使用在所述有效载荷中指示的信息来执行的计算;通过所述提供者票单服务产生票单,所述票单具有计算标识符和相应的有效载荷;通过所述提供者票单服务将唯一的票单标识符与所述提供者票单服务所提交的每个票单相关联;通过在所述计算机系统的第二过程中实现的票单管理器将来自所述提供者票单服务的选定的票单提交给在所述计算机系统的第三过程中实现的提供者宿主服务;确定多个提供者中的哪一个或多个提供者将执行由所述选定的票单的所述计算标识符识别的计算;通过所述提供者宿主服务启动至少一个提供者宿主线程,所述至少一个提供者宿主线程调用或实例化被确定来执行由所述选定的票单的所述计算标识符识别的计算的一个或多个提供者;在所述提供者票单服务处从所述提供者宿主服务接收由被调用的所述一个或多个提供者执行的计算的结果;及将所述结果返回给与所述选定的票单相关联的发起请求的客户端。2.根据权利要求1所述的方法,还包括:在执行由所述选定的票单请求的计算之前,确定由所述选定的票单请求的计算是否已经执行,并且,如果已经执行,则获取先前计算的结果,并将所述先前计算的结果作为待返回的结果返回到与所述选定的票单相关联的所述发起请求的客户端。3.根据权利要求2所述的方法,还包括:将所述先前计算的结果存储在所述提供者票单服务的数据存储器中。4.根据权利要求1所述的方法,还包括,在执行由所述选定的票单请求的计算之前,确定是否另一提供者处于执行由所述选定的票单请求的计算的过程中,且如果是的话,则等待所述另一提供者执行所述计算并提供结果,并将来自所述另一提供者的结果作为待返回的结果返回给与所述选定的票单相关联的所述发出请求的客户端。5.根据权利要求1所述的方法,还包括:基于至少一个标准来确定是否存储所述结果;及响应于所述至少一个标准被满足,将所述结果存储在所述提供者票单服务的数据存储器中。6.根据权利要求5所述的方法,其中,所述至少一个标准包括由所述选定的票单请求的计算是否已经被至少一个其它的客户端请求。7.根据权利要求5所述的方法,其中,所述至少一个标准包括所述结果被预期请求或已被请求的频率。8.根据权利要求5所述的方法,其中,所述至少一个标准基于由所述选定的票单请求的计算被所述一个或多个客户端中的其他客户端请求的频率。9.根据权利要求5所述的方法,其中,所述至少一个标准包括用于执行所述计算的数据是否在预定的时间期间之内。10.根据权利要求3所述的方法,还包括:从为所述票单中的第一票单提供所述多个有效载荷中的一个有效载荷的客户端中的一个客户端接收利用与所述第一票单相关联的所述票单标识符对所述结果的请求;及响应于从发出请求的客户端接收到所述请求,在所述数据存储器中查询所述结果。11.根据权利要求1所述的方法,还包括将提供者标识插入到所述选定的票单中,所述提供者标识识别所述一个或多个提供者中的哪一个提供者将被调用来执行由所述选定的票单的所述计算标识符识别的计算。12.根据权利要求1所述的方法,还包括:将所述唯一的票单标识符发送到发送所述相应的选定的票单的有效载荷的所述客户端。13.根据权利要求12所述的方法,还包括:从所述一个或多个客户端接收对所述选定的票单的状态的请求;响应于接收到对所述选定的票单的状态的请求,所述提供者票单服务在票单状态表中查询所述选定的票单的状态;及所述提供者票单服务将所述选定的票单的状态发送到请求所述选定的票单的状态的客户端,所述状态包括所述选定的票单的处理是处于挂起还是处于正在进行中的指示,且如果所述选定的票单的状态是正在进行中,所述票单提供者服务还发送关于多少处理已完成或尚待完成以产生所述结果的指示。14.根据权利要求1所述的方法,其中被调用的提供者使用托管在所述提供者宿主服务的本地或所述提供者宿主服务的外部的输入数据来进行待执行的计算,所述提供者宿主服务还至少部分地基于本地或外部数据。15.根据权利要求1所述的方法,还包括:被调用的提供者向由所述提供者票单服务托管的数据存储器或托管在所述提供者宿主服务和所述提供者票单服务外部的数据服务请求在所述票单的有效载荷中指示的信息;及响应于所述被调用的提供者请求所述信息,所述被调用的提供者从所述数据存储器或外部的数据服务接收输入数据,并使用所接收到的输入数据执行由所述选定的票单请求的计算。16.根据权利要求1所述的方法,还包括:使用票单管理器按照队列将所述票单存储在票单存储器中;识别每个所述票单的状态并将包括所述选定的票单的每个所述票单的状态的指示存储在票单状态表中;在每次所述票单中的选定的票单的状态被识别为挂起时,增加挂起的票单计数;在所述票单存储器中查询在所述队列的前面的票单中的第一票单;及根据所述第一...

【专利技术属性】
技术研发人员:查德·安德鲁·劳埃德詹森·D·麦克拉纳汉约翰·杰弗里·多德森杰弗里·W·杨马库斯·E·利特尔郑毅雄特丽萨·K·沃尔科尼·克里斯廷·威姆萨特
申请(专利权)人:施耐德电气美国股份有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1