首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Hyperledger Fabric 是为企业级商用区块链项目提供支撑的且可扩展的联盟链平台,密码算法为该平台的核心,保证上链数据的安全和不可篡改,但原始Fabric平台缺乏对国密算法的支持。因此,设计并实现了Fabric平台的国密算法的嵌入和支持。首先,通过分析Fabric平台中组件间交互逻辑和密码算法的调用场景,提出了在该平台嵌入国密支持的设计思路;其次,基于同济开源国密实现源码,为 Fabric 平台BCCSP添加SM2、SM3和SM4算法模块与接口;再次,将Fabric平台的各组件上层应用的密码算法调用接口与对应国密算法接口相关联,实现上层应用对国密算法调用的支持;最后,通过创建 fabric-gm 联盟链测试实例验证Fabric平台中嵌入的国密算法模块和接口的正确性及有效性,并与原生Fabric平台镜像构建的测试实例进行了性能比较。实验结果表明,嵌入的国密算法模块和接口可用、正确且生成的国密证书有效,与原生Fabric平台镜像相比,网络启动时间增加3%,毫秒级单位下的交易时间开销增加1倍,动态证书生成时间增加9%,各项性能指标均在可接受范围内。  相似文献   

2.
目前, 超级账本Fabric架构上核心特性主要包括:解耦了原子排序环节与其他复杂处理环节, 消除了网络处理瓶颈, 提高可扩展性; 解耦交易处理节点的逻辑角色为背书节点、 确认节点, 可以根据负载进行灵活部署; 加强了身份证书管理服务, 作为单独的Fabric CA项目, 提供更多功能; 支持多通道特性, 不同通道之间的数据彼此隔离, 提高隔离安全性; 支持可拔插的架构, 包括共识、 权限管理、 加解密、 账本机制都模块,支持多种类型; 引入系统链码来实现区块链系统的处理, 支持可编程和第三方实现.  相似文献   

3.
HyperLedger Fabric是受关注度较高的开源联盟区块链.针对现有区块链分片方法不适用于Fabric三阶段交易模型的问题和分片粒度过粗导致存在热点访问的问题,提出一种基于Fabric实现的细粒度键值状态分片方法.首先,详细设计了Fabric在键值状态分片下的跨片交易处理,引入跨分片排序节点和两阶段提交处理流程,高效保证跨片交易的一致性和原子性.然后,针对细粒度分片可能导致交易跨片概率上升进而影响性能的问题,提出启发式的交易提案路由表,旨在减少预执行阶段交易的跨片读数据请求,降低计算资源和网络资源的消耗.最后,在Fabric仿真系统上实现改进的分片方案并进行性能测试.实验结果表明,该方法在提升Fabric性能的基础上,有效解决了热点访问问题和高跨片交易占比下的性能下降问题.  相似文献   

4.
联盟链缺少展示各个节点资源使用情况、健康状态、互相关系、共识交易流程等方面的可视化方法,为此提出一种基于自定义日志的Fabric共识交易轨迹追踪方法(FTL)。首先,以典型联盟链框架Hyperledger Fabric为基础设施实现区块链底层构建;然后,利用ELK工具链收集与解析Fabric的自定义共识交易日志,并利用Spring Boot作为业务逻辑处理框架;最后,采用专注于图分析领域的Graphin实现共识交易轨迹的可视化。实验结果表明,与原生Fabric应用相比,基于FTL的Fabric的应用框架在实现可视化追踪基础后,平均性能仅下降了8.8%,未造成显著延迟,可以为监管方提供更加智能的区块链监管方案。  相似文献   

5.
由于软件代码复用和第三方SDK的广泛使用,开源组件普遍存在于物联网设备固件中.威胁固件的安全漏洞往往存在于组件的某些特定版本中,识别物联网设备固件中开源二进制组件的版本信息,对于物联网的安全评估与应急响应意义重大.现有的基于版本字符串的版本信息提取方法不适用于组件版本字符串缺失的情况.设计和实现了一种不依赖于版本字符串的开源组件版本识别方法Protues.该方法的核心思想是通过开源组件相邻版本源码间的差异构造一条版本差异链,从而将版本识别问题转化为待查组件在版本差异链上的滑动查询问题.进一步地,为了提高识别准确率,采用条件判断表达式来表征版本差异链上的节点.为了验证该方法的实用性,对来自于4种开源组件Samba,Msmtp,Nginx和Libgcrypt的共428个二进制文件进行了版本识别实验,实验结果表明,该方法能够准确识别的版本数达到418个,识别准确率约为98%.  相似文献   

6.
Open Source     
汤韬 《程序员》2005,(1):13-13
如果把 GCC 比作开源运动的心脏的话,那么它为整个开源社区的构建提供最初的原动力,而 CVS 就是这个开源肌体中的血管,它为每一个器官(开源项目)提供源源不断的动力。它帮助需要多人协同开发的项目同步文档、代码、提供版本控制。只要提到版本控制系统,开源社区的第一反应就是 CVS,在很长一段时间  相似文献   

7.
目前,数据库在各行各业中广泛应用.在众多商业数据库软件中,SQL SERVER和ORACLE被较多的使用,因此这两个数据库软件的价格也较昂贵.本文主要介绍MySQL数据库在单线程或多线程程序环境下使用C API访问MySQL数据库方法,并给出了相应代码和分析.该数据库属于开源数据库,具有较高的成熟度,并且对于社区版本可以免费使用,因此对于需要使用C API访问数据库的项目开发,可降低开发成本.  相似文献   

8.
针对当前克隆谱系的构建方法较为复杂、演化模式亟需扩充等问题,提出了新的克隆代码演化模式,并根据软件版本间的克隆代码映射关系自动构建了克隆谱系。首先,针对软件每一版本进行克隆检测并利用潜在狄利克雷分配(LDA)抽取克隆代码的主题信息;然后,根据克隆代码主题的相似度确定版本间克隆代码的映射关系;进而,根据已有的映射关系为克隆代码添加演化模式并分析演化特征;最终,结合映射信息与演化模式信息完成克隆谱系的构建。针对4款开源软件进行了克隆谱系的构建实验,实验结果表明所提克隆谱系构建方法可行,证实了新提出的演化模式在克隆代码演化过程中确实存在。实验发现约90%的克隆代码在软件演化过程中比较稳定,约67%的克隆群经历的发布版本数不超过发布版本总数的一半。实验结论及理论分析将为克隆代码的后续研究及克隆代码的维护与管理提供有力支持。  相似文献   

9.
目前的软件复用技术主要围绕软件代码的复用进行研究.而随着开源项目的增多,基于待开发项目的需求文档分析,实现项目级的复用就显得非常有价值.当开发人员获取项目的软件需求后,通常需要对其分析并构建解决方案,然后进行设计与实施.如果能根据项目的软件需求找到相似的历史项目进行复用,可以大大节省项目设计与实施时间.因此,在现有的项...  相似文献   

10.
源代码检索是软件工程领域的一项重要研究问题,其主要任务是检索和复用软件项目API(application program interface,应用程序接口).随着软件项目的规模越来越大、越来越复杂,当前,源代码检索一方面需要提高基于自然语言API查询的准确性,另一方面需要定位和展示目标API及其相关代码之间的关联,以更好地辅助用户理解API的实现逻辑和使用场景.为此,提出一种基于图嵌入的软件项目源代码检索方法.该方法能够基于软件项目源代码自动构建其代码结构图,并通过图嵌入对源代码进行信息表示.在此基础上,用户可以输入自然语言问题、检索并返回相关的API及其关联信息构成的连通代码子图,从而提高API检索和复用的效率.在以开源项目Apache Lucene和POI为例的检索实验中,该方法检索结果的F1值比现有基于最短路径的方法提高了10%,同时显著缩短了平均响应时间.  相似文献   

11.
本月初,Django的1.0版本如期发布,在发布声明中这样写道:来自于Django社区的热情和凝聚力一直推动着项目的进展,在Django全部的代码中,大约有一半由非核心提交者所贡献。从上个稳定版本到1.0的发布,我们添加、修改和删除的代码超过了350000行。  相似文献   

12.
云平台目前主流的开源项目有OpenStack和Cloud-Stack, 相比之下, OpenStack门槛高, 可实现的效果更好, 也是目前被各大厂商商用化最多的开源云平台之一. OpenStack: 按照26个英文字母进行生命周期迭代命名. 目前最新发布的是N版本 (Newton), 商用部署更多的是L版本和M版本. 随着其功能的完善, 目前有6个核心服务和10个可选服务. 主要看看6个核心服务: OpenStack Compute: 主要是虚拟机的管理, 代码命名为 Nova. OpenStack Storage: Object存储和 Block存储管理, 代码命名分别为Swift和Cinder. OpenStack Networking: 可插拔的, 由API驱动的网络和IP管理,代码命名 Neutron. 共享服务: 包含身份认证 (命名Keystone)、 image 管理 (命名 Glance)、 WEB 接口等.OpenStack可以控制数据中心大量的存储, 计算和网络资源, 并且所有的管理都可以通过Dashboard来统一完成完成.  相似文献   

13.
陈桌  张丽萍  王春晖 《计算机应用》2016,36(12):3461-3467
针对现有克隆演化模式分类不清晰、克隆谱系提取工具少且效率低等问题,提出了根据克隆代码映射关系和演化信息自动构建克隆谱系的方法。首先通过词频向量计算、代码行距以及克隆属性相结合分阶段映射版本间克隆;然后根据映射结果为克隆群和克隆片段添加演化模式;最后串联所有版本中的克隆映射关系和演化模式构建克隆谱系。对4款开源软件进行实验并人工验证,实验结果表明克隆谱系提取工具——ECG的可行性和高效性。此外,从提取结果中发现,在演化过程中约42%的克隆代码未发生变化,发生不一致变化的克隆代码约占3.48%,此类克隆可能会引入潜在bug需要被重点关注。该方法将为克隆代码质量评估和管理提供参考和支持。  相似文献   

14.
为有效控制传染病毒,精准检测传染病例的个人行程轨迹尤其重要,但恶意伪造行程码的开源项目困扰了溯源工作,因此数据防伪成为溯源工作中急需解决的问题。基于Hyperledger Fabric框架搭建联盟链,开放远程过程调用协议(Remote Procedure Call,RPC)服务提供链码,实现与区块链上数据的交互,采用智能合约与共享账本技术,实现区块溯源。系统的Web端前端后分离,前端使用VUE和Element-UI技术实现图形化用户界面,后端使用Spring身份控制技术分离权限,采用椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)进行签名,实现防篡改和数据保护功能。  相似文献   

15.
针对单个版本克隆检测结果不足以体现克隆特征这一问题,从软件多版本中自动提取克隆谱系,获得克隆在软件演化过程中表现出的模式和特征。首先基于克隆代码Token表示及其所在文件名称、函数名称等位置属性,准确映射软件历时演化版本间的克隆代码,进而识别克隆演化模式;然后匹配克隆类ID号,合并所有相邻版本间的映射结果及演化模式信息,得到克隆谱系。同时开发了相应的克隆谱系自动提取工具FCG对6款开源软件进行了测试,发现当前版本中克隆代码平均生命周期占所研究版本总数的70%以上,且大部分没有发生变化,说明大部分克隆能被较好地维护,但也存在少量不稳定的克隆可能导致软件缺陷,需要修改或重构。实验结果表明FCG可高效提取克隆谱系,有助于更好地理解克隆及有针对性地管理克隆。  相似文献   

16.
高恺  何昊  谢冰  周明辉 《软件学报》2024,35(2):581-603
开源软件已经成为现代社会的一项关键基础设施,支撑着几乎所有领域的软件开发.通过安装依赖、API调用、项目fork、文件拷贝和代码克隆等形式的代码复用,开源软件之间形成了错综复杂的供应(依赖)关系网络,被称为开源软件供应链.一方面,开源软件供应链为软件开发提供了便利,已然成为软件行业的基石.另一方面,上游软件的风险可以沿着开源软件供应链波及众多的下游软件,使开源软件供应链呈现牵一发而动全身的特点.开源软件供应链近年来逐渐成为学术界和工业界的关注焦点.为了帮助增进研究人员对开源软件供应链的认识,从整体性的角度,对开源软件供应链给出定义和研究框架;然后,对国内外的研究工作进行系统文献调研,总结结构与演化、风险传播与管理、依赖管理3个方面的研究现状;最后,展望开源软件供应链的研究挑战和未来研究方向.  相似文献   

17.
王飞  崔宝江 《软件》2012,33(12)
代码克隆分析已经被广泛应用,可用于判断源代码是否存在抄袭,是否违反开源代码使用规则等.该种检测主要用于对源代码的抄袭判断,属于静态检测范围.考虑到检测过程是使用大量样本或以开源代码为主形成的数据库,因此可以构建一个以缺陷代码为主的样本集,适用于检测其它软件代码的安全性.本文将通过构造一定的测试样本,验证该方法的可行性和优越性.  相似文献   

18.
软件版本发布这一软件管理活动不仅直接影响开源软件用户的使用体验,同时也会在一定程度上影响着开源社区的贡献评估过程。针对此问题,对开源软件版本发布与开源社区贡献评估的关系展开实证研究,着重分析软件版本发布对贡献的第一次评估反馈以及接受概率的影响。根据实验结果,对目前的开源社区提出相应的实践建议,以促进开源社区更加有效地管理软件版本发布与贡献评估之间的关系,使得开源社区能够更加良性发展。  相似文献   

19.
区块链即服务(BaaS)平台的核心在于如何将区块链网络部署在云计算平台上。Fabric部署可以按照组件启动时间分为静态组件和动态链码两部分,而链码部署是Fabric云化最核心、最复杂的部分。因为Fabric本身没有针对Kubernetes开发接口,所以业界当前的方案均是通过一系列辅助技术实现链码部署,而这些方案并没有将链码随静态组件一起纳入到Kubernetes管理环境中。针对当前BaaS方案存在的问题,主要做了如下几项工作:1)比较全面地研究了底层基础设施,尤其是生产环境下的高可用性Kubernetes平台;2)设计并实现了Fabric在Kubernetes上的云化部署,尤其是链码部分通过一个全新的容器控制插件实现了对Kubernetes在代码级别上的支持,并完成了将链码纳入Kubernetes环境管理的目标;3)用函数计算服务来管理Fabric链码的部署,从而实现了一个全新的链码执行模式,即从“启动-等待-调用-等待”的模式改变为“启动-调用-退出”的模式。上述在Fabric云化部署尤其是链码部署管理方面的工作,对基于Fabric和Kubernetes的BaaS平台优化有一定的参考价值。  相似文献   

20.
在软件系统中,相同或相似的代码片段称为代码克隆。目前研究人员已经提出了一些克隆检测方法。这些方法通常仅针对软件系统单个版本进行克隆检测,而在部分场景下,如构建克隆演化谱系时,需要对系统每个版本进行克隆检测,则尤为耗时。为此,提出一种针对多版本软件系统的克隆检测加速技术,可以快速得到每个版本的克隆情况。该技术通过版本间方法映射技术为不同版本代码内容高度相似的同一方法构建方法版本组,选取每个方法版本组中最早的版本作为样本方法,样本方法的集合构成历史映像,对历史映像进行克隆检测,同时建立样本方法和方法版本组间的方法索引。根据历史映像克隆检测结果及方法索引恢复原始的全量克隆关系。采用该克隆检测加速技术在251个开源项目的3 234个版本共计3亿行代码上进行克隆检测实验,与未加速相比,效率提升了近4倍。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号