[发明专利]一种数据描述语言中记录类型的合并方法在审

专利信息
申请号: 202211596434.3 申请日: 2022-12-12
公开(公告)号: CN115826927A 公开(公告)日: 2023-03-21
发明(设计)人: 陈钢;王楠;朵晓东 申请(专利权)人: 南京航空航天大学
主分类号: G06F8/20 分类号: G06F8/20;G06F8/71
代理公司: 南京瑞弘专利商标事务所(普通合伙) 32249 代理人: 任志艳
地址: 211106 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 描述 语言 记录 类型 合并 方法
【说明书】:

发明提供一种数据描述语言中记录类型的合并方法,所述方法包括:按照递归类型定义,将参与合并的原左记录类型拆分为单属性记录和另一个记录类型的联合,即({k:T}|R0);接着递归合并{k:T}和原右记录类型,转换得到中间类型继续与R0调用递归合并处理,得到最终的结果类型。通过该合并方法获得的结果记录类型满足良构的条件,即所有的属性名都是唯一的,同时属性名对应的值类型都是形式良好的。通过采用本发明的合并算法,能够达到简化用户操作、降低运维成本的目的,便于解决多人协同开发中可能存在的记录类型冲突的问题。

技术领域

本发明属于数据合并技术领域,具体而言,涉及基于联合类型的数据描述语言的记录类型合并算法。

背景技术

随着云原生时代的到来,推动了新一代软件形态的发展,许多大型应用软件的功能被拆解为多个独立的需求模块,这些模块利用一批微服务及其组合来实现,开发人员通过大量复杂配置管理微服务。在实际开发过程中,多个团队协作开发成为主流。以配置参数container:{port:(int|string)}为例,一个公司中A团队的编程习惯是为port属性分配一个整数值m,而B团队的编程习惯是为port属性分配一个字符串值m。由此可见,两个团队想要表达的语义是一样的,但是编程习惯不同。为使完整的应用配置生效,则需要汇总所有的配置参数,而在这个汇总过程中,对象数据合并的处理至关重要。

然而,在现有的可用于对象数据合并的处理方案中,大致分为两种,分别为传统的基于从右向左的覆盖更新原则和不允许包含同名属性的对象进行合并。

第一种方案是由Cardelli等人提出的,它的实现方式是按照从右向左的方向顺序覆盖原左对象。其优点是简单易实现,不依赖复杂计算,但缺点是可能会丢失原始数据,而且不能解决所有的记录合并问题。下面给出了一个运行时进行类型覆盖出现失败的示例:

假设函数f的输入参数是两个记录类型x和y,返回值为合并x和y的结果,f=lambda x:{k:int}.lambda y:{h:bool}.(x||y)

关于f的结果类型,{k:int}||{h:bool}={k:int,h:bool},由此可见,结果类型是良构(well-formed)。如果f接受的实参如下所示:

x1={k=3,h=4}y1={k=true,h=false}

然后,使用运行时类型覆盖将函数f应用于x1和y1,将会出现失败。根据f的结果类型,x1的k属性值应该覆盖y1的k属性值,而y1的h属性值应该覆盖x1的h属性值。因此,单向的类型覆盖不足以满足类型需求。为解决这个问题,一种方法是抛出运行时错误,但这违反了类型检查的原则;另一种方法是为(x1||y1)编译特定的指令,但这种方法计算成本较高。由于这些难题,Harper和Pierce提出了第二种解决方案,即不允许包含同名属性的对象进行合并。

第二种方案是通过引入类型断言(#),即R1#R2,表示记录类型R1和R2的标签集合不相交。在他们的合并转换规则中,只有当R1和R2满足谓词#时,合并表达式R1||R2的结果类型才是良构的。该方案避免了上述方案遇到的单向类型覆盖出现失败的情况,也避免了丢失原始数据的问题。但是,其缺点是需要为合并算法额外提供一套类型断言规则的限制,形式化验证成本高;并且,该合并算法无法解决{k:int}||{h:bool,k:float}的问题。

发明内容

本发明所要解决的技术问题是针对现有技术中存在的上述缺陷,提供一种通过联合类型来处理记录类型合并的结果类型,避免了多个团队协同开发中可能存在的数据类型冲突。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211596434.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top