【技术实现步骤摘要】
【国外来华专利技术】用于在分布式计算环境中支持可执行代码的动态部署的系统和方法版权声明本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照它在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
本专利技术一般而言涉及计算机系统,并且具体而言涉及分布式计算环境。
技术实现思路
本公开描述了可以在分布式计算环境中支持可执行代码的动态部署的系统和方法。客户端为一个或多个类或更新的类生成类定义。类定义被串行化并传输到分布式计算环境中的服务器。分布式计算环境中的服务器接收串行化的类定义、解串行化(deserialize)类定义、并且在服务器上生成一个或多个类或更新的类用于执行。类或更新的类可以表示lambda表达式。此外,类或更新的类被提供有唯一身份,以确保执行正确的类或类版本并且确保串行化和分发服务器上不可用的类定义。可执行代码的动态部署使得能够在服务器节点上执行代理,其中代理依赖于否则对服务器节点不可用的新类定义。在实施例中,本公开描述了一种用于在分布式计算环境中支持lambda表达式的方法。该方法包括经由服务器接收实现lambda表达式的类定义。客户端生成实现lambda表达式的所述类定义、将其串行化并将其发送到服务器。服务器基于接收到的类定义来定义lambda类。如果lambda表达式在客户端侧被更新,那么将表示更新的lambda表达式的新类定义发送到服务器。当结合附图阅读时,根据以下各种实施例的描述,本专利技术的这些和其它目的和优点对于本领域技术人员将变得显而易见。附图说明图1图示根据本 ...
【技术保护点】
一种用于在分布式计算环境中支持可执行代码从客户端到节点的动态部署的方法,所述方法包括:在节点处从客户端接收串行化对象,其中串行化对象包括用于不存在于节点的类路径中的新类的类定义和利用所述新类的捕获的代理状态;在所述节点上解串行化串行化对象以取回所述类定义和所述捕获的代理状态;将类定义和捕获的代理状态加载到节点的存储器中,以在节点上生成新类的实例;以及在节点上执行代理。
【技术特征摘要】
【国外来华专利技术】2014.09.25 US 62/055,482;2014.11.06 US 62/076,1591.一种用于在分布式计算环境中支持可执行代码从客户端到节点的动态部署的方法,所述方法包括:在节点处从客户端接收串行化对象,其中串行化对象包括用于不存在于节点的类路径中的新类的类定义和利用所述新类的捕获的代理状态;在所述节点上解串行化串行化对象以取回所述类定义和所述捕获的代理状态;将类定义和捕获的代理状态加载到节点的存储器中,以在节点上生成新类的实例;以及在节点上执行代理。2.如权利要求1所述的方法,其中所述类定义实现lambda表达式。3.如权利要求1至2中任何一项所述的方法,所述方法还包括:在客户端上接收代理代码;从客户端上的所述代理代码确定用于所述新类的类定义;以及基于类定义生成用于所述新类的类身份。4.如权利要求1至3中任何一项所述的方法,所述方法还包括:在所述客户端上维护类/身份表;在客户端上接收用于所述代理的代理代码;从客户端上的所述代理代码确定用于所述新类的类定义;基于类定义生成用于所述新类的类身份;以及使用类/身份表来确定所述新类不存在于节点的类路径中。5.如权利要求1至3中任何一项所述的方法,所述方法还包括:在所述客户端上维护类/身份表;在客户端上接收用于所述代理的代理代码;从客户端上的所述代理代码确定用于所述新类的类定义;基于类定义生成用于所述新类的类身份;使用类/身份表来确定所述新类不存在于节点的类路径中;以及将用于所述新类的类身份添加到类/身份表。6.如权利要求1至5中任何一项所述的方法,所述方法还包括:在客户端上接收用于所述代理的代理代码;从客户端上的所述代理代码确定用于所述新类的类定义;在所述客户端上生成串行化对象,所述串行化对象包括用于不存在于节点的类路径中的新类的类定义和利用所述新类的所述捕获的代理状态;以及将所述串行化对象传输到节点。7.如权利要求1至6中任何一项所述的方法,所述方法还包括:在客户端上接收用于所述代理的代理代码,其中所述代理代码包括lambda表达式;从客户端上的所述代理代码确定用于所述新类的类定义,其中类定义实现所述lambda表达式;在所述客户端上生成包括串行化对象,所述串行化对象用于不存在于节点的类路径中的新类的类定义和利用所述新类的捕获的代理状态;以及将所述串行化对象传输到节点。8.如权利要求1至7中任何一项所述的方法,其中分布式计算环境包括数据网格集群,并且其中可执行代码的动态部署使得能够在所述数据网格集群中保持要由代理对其操作的数据的多个节点上执行所述代理,而无需重新部署所述数据网格集群中的所述多个节点。9.如权利要求1至8中任何一项所述的方法,其中分布式计算环境包括数据网格集群,并且其中所述代理是用于针对在所述节点中保持的数据执行的条目处理器。10.如权利要求1至9中任何一项所述的方法,其中分布式计算环境包括数据网格集群,并且其中所述代理是用于针对在所述节点中保持的数据执行的聚合器、过滤器、值提取器和可调用代码中的一个。11.一种用于在分布式计算环境中支持可执行代码的动态部署的系统,所述系统包括:计算机系统,所述计算机系统包括微处理器和存储器;节点,所述节点部署在所述计算机系统上作为所述分布式计算环境的一部分;以及其中所述节点被配置成:从客户端接收串行化对象,其中串行化对象包括用于不存在于节点的类路径中的新类的类定义和利用所述新类的捕获的代理状态,在节点上解串行化串行化对象以取回所述类定义和所述捕获的代理状态,将类定义和捕获的代理状态加载到分配给所述节点的所述存储器的一部分中,以在节点上生成新类的实例,以及在节点上执行代理。12.如权利要求11所述的系统,其中所述类定义实现lam...
【专利技术属性】
技术研发人员:A·瑟奥维克,H·拉加,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。