5G开源平台技术实现方案V0-20190311_第1页
5G开源平台技术实现方案V0-20190311_第2页
5G开源平台技术实现方案V0-20190311_第3页
5G开源平台技术实现方案V0-20190311_第4页
5G开源平台技术实现方案V0-20190311_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、需求背景 搭建5G标准开源代码知识产权状态评估平台,能够满足高可靠 性和实时性分析要求,能够对包括Apache、GPL、BSD在内的开 源协议代码对比分析,支持同时处理超过十万条开源代码的对比分 析,能够对有关的专利、商标数据信息进行对比分析。 二、功能架构 数据库加工模块知识产权状态评估模块 对比分析模块知识产权状态统计模块 信息编辑模块知识产权报告生成模块 信息查询模块知识产权状态发布模块 开源代码知识产权状态评估引擎 开源代码、专利、商标基础数据库 三、技术解决方案 3.1存在问题 源码的对比存在很大的难度,主要存在以下几个问题: (1) 改变程序注释、变量名、函数位置; (2) 将子

2、程序展开,嵌入至调用子程序的函数中 (3) 添加无效语句和变量; (4) 等效语句的替换; (5) 等价表达式的替换; (6) 改变循环语句或选择语句; (7) 用过程体代替过程调用语句; (8) 引入非结构化的语句; (9) 组合原来的和复制后的程序段; (10) 改变程序中独立语句的顺序。 3. 2解决思路 解决源码对比,首先要确定两段代码相同的依据。 1、文件名相同、文件内容完全相同,则认为相同。 2、若二者比对项的相应内容不完全相同,但比对项的必要部分、或 主要部分没有本质区别,属于实质性相似,则二者的比对项仍具 有同一性。比如一段源码的注释中签名信息:作者、邮箱、公 司、编写日期完全

3、和另外一段代码相同,应认定相同。 3、如果一段开源代码和另外一段开源代码存在一定行数的代码 完全相同,则认为相同。 针对以上的判定依据,我们提出以下解决方案: 1、针对问题1,可采用MD5算法排重,因为相同的文件的 MD5算法相同,且MD5长度固定,易于存储和检索。可在 几秒 钟内完成上亿数据的对比。百度网盘采用这种方式判 断文件是否相同。 2、针对问题2,如果一段源码注释、签名存在大量的一致。我 们可将代码注释和签名等信息提取出来,建立索引库,对 比前先进行搜索,如发现有相同的,则标记文件为可疑文 件。 3、针对问题3,主要是对源码本身进行对比,这里我们首先就 需要对源码进行处理,因为源码中

4、一般有大量的空行,剔 除空行后我们再进行对比,这里我们先运用SimHash算 法,对源码每个文件进行SimHash算法,它通过将原始的 文本映射为64位的二进制数字串,然后通过比较二进制 数字串的差异进而来表示原始文本内容的差异,文本都转换 为simhash签名,并转换为long类型存储,存储空间大 大减少,通过计算两个simhash的海明距离来判断相识 度,进行初步的筛选,将相识度高的文件标记为可疑文 件。 注:SimHash算法来进行文档和代码的查重,SimHash 是 Google在2007年发表的论文Detecting Near- Duplicates for Web Crawling

5、中提到的一种指纹生成算法或者叫指纹提 取算法,被Google广泛应用在亿级的网页去重的Job 中。通过SimHash算法进行初步的筛选后,将相近的文 件标记为可疑文件。 4、通过第2步、第3步可将范围大大缩小,正对标记的可 疑文 件,我们进行最后的按行对比。这里我们采用diff 进行比较, cHff是linux的命令,diff命令用于比较两个文件的 差异。 并提供可视 5、经过以上四步基本上就可以找出相同的源码。 化 的比较界面。导出比较报告 图源码对比分析步骤图 3. 3开发语言 本系统基于B/S结构,采用java语言开发并结合流行的Hadoop 大数据分析平台。支持多用户、多角色,采用高可

6、用、高吞吐的分 布式集群部署、多数据源,多级用户通过浏览器访问系统。 3. 4技术架构 本项目是面向服务的S0A架构体系,大数据分析可视化服务设计 采用 J2EE ( Java 2 Platform Enterprise Edition)三层架构来构建, 用Java实现界面显示和用户交互功能,采用成熟框架品支撑业务 处理组件的运行环境,保证系统架构的稳定性、高可靠性和扩展 性;Hadoop大数据分析计算服务,采用流行的Hadoop生态框架完 成,使用流行的Spark框架完成从数据仓库读取数据到并行实时计 算的功能,数据处理后将数据写回数据仓库并提交给可视化服务用作 结果展示;基础数据服务使用E

7、TL工具和Flume、Kafka等工具, 从各个数据源包括但不限于数据库、文档服务器、网络爬虫数据获取 数据,并经过ETL工具清洗、过滤、正规化处理,存储到Hadoop数 据仓库中。 大数据分析可视化平台 X数据计算生态平台 Redis缓存数据库 图技术架构 开发框架 应用展示系统使用 SMF ( Spring+myBatis+freemarker)框架, Spring负责控 制层,myBatis负责数据层,freemarker负责展现 层,前端展现构建结构清晰、可复用性好、维护方便的服务器架构。 SimHash算法的内容是: 1. 分词。把需要判断文本分词形成这个文章的特征单词。然后形 成去

8、掉噪音词的单词序列并为每个词加上权重,权重越大,代表这 个单词在句子中越重要。 2. Hasho通过Hash算法把每个词变成Hash值,这样一连串的字 符串就变成了一串串数字。 3. 加权。通过对第二个步骤的生成结果,需要按照单词的权重形 成加权数字串。 4. 合并。把上面各个单词算出来的序列值累加,变成一个序列 串。 5. 降维。把上一步的序列串变为“0、1”的二进制串,形成最 终的simHash签名。如果每一位大于0记为1,小于0记为0。 6. 比对。经过上诉一系列步骤的计算处理后,要比对的字符串也 要经过上 面的计算步骤处理,分别和已有的降维后的二进制串进 行比对,即可得出校验结果。 3

9、.5系统部署 前端采用nginx实现负载均衡、并通过Nginx实现反向代理服务 器集群,同时作为静态页面和图片的缓存,后端通过tomcat应用集 群,配置redis缓存服务器,数据库端采用mySql数据库读写分 离,同时针对整体环境增加zabbix监控系统,保证系统稳定运行, 大数据集群采用Cloudera Manager搭建部署CDH版 本的Hadoop集 群。 3. 6分布式文件系统 针对平台需求所提出的高可靠性和实时性,同时支持超过10万条代码的对比,可见平台 对文件处理速度、性能要求非常高,由此推荐选择开源的FastDFS分布式文件系统来进行 存储开源代码、专利、商标基础数据。 Fas

10、tDFS是一个开源的高性能分布式文件系统(DFS)。它的主要功能包括:文件存 特别适 储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题, 合以中小文件(建议范围:4KB file_size html5、 css3 javascript、 jquery等。后端:一般指与数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现 功能、数据的存取、平台的稳定性与性能等。 后端技术:spring boot、spring mvc spring data jpa等开源第三方组件。 测试 DONE 3.8功能实现 1)开源代码、专利、商标数据:数据存储采用FastDFS分布式文 件系

11、统存储即可以满足大数据、高可靠性、实时性、高可用的要求, FastDFS支持存储GB、TB、PB级的分布式数据,当硬件磁盘不够 时,通过水平增加服务器即可解决容量不足问题,另外FastDFS对小 文件处理非常高效,要比HDFS更加合适。 2)开源代码知识产权状态评估引擎:该引擎主要实现一个高性能 处理代码 对比分析的工具,可以引入相关开源对比工具或采用java 核心技术多线程进行设计开发,处理能力可以结合微服务+多线程任 务进行并发处理。 3)数据库加工模块:该模块需要实现可视化加工,即采用前端UI 技术以及 后端API接口实现操作分布式文件系统,已达到灵活管理开源代码、 专利、商标 基础数据目的。 4)对比分析模块:该模块主要由后端分析引擎发布接口,由前端 UI调用 来 达到查看、编辑、分析、对比的目的。 5)信息编辑模块:系统提供对各种基础数据的编辑接口。 eMft r 6)信息查询模块:系统提供对各种基础数据的查询接口 7)知识产权状态评估模块:系统提供数据分派、待办、审批、办 理过程等 接口 富矗需需幫统计模奴系统采用echarts图表组件来提供丰 ECHASTTS y T 柱 tB 90 j hf 杆 WMS3I WMHM Ml US A MMMM T MB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论