我国正在建设创新型国家,软件创新创业的“互联网+”模式已成为新兴战略产业的重要形态。互联网软件开发呈现边界开放、群体分散、交付频繁、知识复杂等特征,同时具有全生命周期数据,形成了规模巨大、碎片分散、快速膨胀的软件数据。如何建立多源异质、广泛关联、语义丰富、覆盖全面的软件大数据环境,分析提炼软件知识,以提升软件开发智能化程度已成为重要科学问题。
本项目重点研究软件大数据汇聚组织、知识表示提炼、软件工具智能化和智能开发服务环境等关键技术,目标在于建立基于大数据的软件智能化开发技术体系,研发关键性的软件智能化开发工具,形成“人-工具-数据”融合的软件智能化开发环境,构建软件智能化开发云平台,面向万众创新的社会需求,运行服务大众的公共服务平台,面向企业创新能力提升,提供智能化的企业软件开发环境。

项目的研究内容归结为2 项共性基础技术、4 项关键技术和1 项总体技术:(1)共性基础技术包括软件大数据汇聚方法与技术和软件知识提炼方法与技术;(2)围绕软件开发的主要活动,从软件构造、测试验证、智能协作和运维演化4 个方面分别研究软件智能化开发技术,研发相应的软件工具;(3)总体技术方面,以云服务集成和软件大数据融合为目标,研究集成框架和机制,形成软件智能化开发云平台,面向大众服务和大型企业需求,分别构建公共服务平台和企业开发环境。
项目研究方案为“问题导向、数据汇聚、知识提炼、智能释放”,综合运用大数据和智能化技术实现软件开发方法和工具的智能化变革;融合国际主流工具和技术框架,关注于研究和实现“智能化机制”:
(1)以“主动感知、定向采集、多源关联、增量检测”机制构建自生长的软件大数据环境,拟采用基于云架构的混合型软件大数据存储与管理框架,通过数据分布式存储和并发查询提高访问效率;
(2)为实现领域分析、模型分析、程序理解、编码、测试、部署等不同软件开发任务中的智能化支持,拟采用知识图谱、经验案例、分类器、规则、模板与模式等多种知识表示方式,综合应用程序分析、自然语言处理、数据挖掘、信息检索等技术实现知识抽取;
(3)选择4 类开发活动中重要的关键支撑点,有针对性地确定数据、知识抽取、智能推荐和问答所需的技术、方法,研发相应的智能化工具;
(4)采取轻量级虚拟容器技术构建可扩展的工具运行支撑框架,并利用容器编排技术构建工具池运行管理机制;
(5)基于以分布式软件仓库为核心的工具集成框架构建智能开发工具环境,并采取多承租架构实现软件智能化开发工具的个性化数据管理。
项目研究团队由国内主要的软件工程学术研究单位和大型软件企业组成,形成“产学研”合作联合体,团队各成员单位持续在软件开发技术和支撑环境方面开展深入的技术研究和密切的产业实践合作,形成了良好的社会和经济效益。前期合作的成果获得了1 项国家技术发明二等奖和2项省部级一等奖,研发并运行提供服务的互联网软件开发服务平台(www.trustie.net)积累了大量的数据。
SolrCloud是基于Solr和Zookeeper的分布式搜索方案。在分布式索引中,原来的大索引,将会分成多个小索引,solr可以将这些小索引返回的结果合并,然后返回给客户端。
SolrCloud优势:
搭建流程:
服务器:42(测试版:48)
版本信息:zookeeper3.4.8 + solr 5.2.1 + tomcat7
1.下载solr
2.下载zookeeper,solrcloud的所有配置需要zookeeper统一管理
3.下载tomcat,solr需要搭载在容器中提供服务
具体配置可参考: http://blog.csdn.net/l1028386804/article/details/52090099
4.服务器solrcloud集群现搭载包含三个solr节点,每个节点包含3个分片。
暂时是在服务器搭建伪分布式集群solrcloud集群,后期数据规模扩大后,会扩展到真实的分布式机器上。
一、分别对项目数据和帖子数据构建collection:
项目:TestCollection,对应本地配置文件为ConfOsp
帖子:TestMemos,对应本地配置文件为MemosOsp建索引步骤(以建立项目索引为例)
1.上传配置文件
java -classpath .:/root/solr/solrcloud/solrhome1/server/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -confdir /root/solr/solrcloud/cloud_conf_osp -confname ConfOsp2.创建collection:
curl "http://localhost:8080/solr/admin/collections?action=CREATE&name=TestCollection&numShards=3&replicationFactor=1&collection.configName=ConfOsp"
3.查看collection:
curl "http://localhost:8080/solr/admin/collections?action=LIST&wt=json"
curl "http://localhost:8080/solr/TestCollection/dataimport?command=full-import&clean=false&commit=true"
curl "http://localhost:8080/solr/TestCollection/dataimport?command=status"
6.索引查询示例
curl "http://localhost:8080/solr/TestCollecition/select?q=rails"
二、整合到前端rails中
1.搭建一个java webservice服务,使用solrcloud集群检索关键字,返回检索结果。
2.在rails中调用soup包的wsdlDriver访问该webservice服务,在前端展示返回结果。
大家经过这么长时间的努力,OSSEAN平台的基本框架结构已经比较稳定。后面我们需要对现有功能持续不断的进行优化调整,同时也需要思考OSSEAN除了能够实现搜索查找之外还能为用户提供什么样的最需要的服务?
1. 开源项目检索能够为用户提供什么样的附加服务?
2. 开源帖子搜索能够为用户提供什么样的附加服务?
对于问题2,我觉得OSSEAN目前简单的项目帖子关联展示,按时间、关联度等简单罗列相关帖子完全没有发挥开发社区与知识分享社区关联带来的好处,无法击中用户最关心的问题。问题是,用户到底最关心什么?
我觉得对项目关联帖子进行整理,将关联帖子分为最新资讯、新手入门、技术讨论、最新问题、相关技术几个模块展示给用户
1.现在的课程资源共享模式更换成,每次新建时复制所有不重复的资源到新班级的模式,默认已发布,即复制的同时发布
(历史数据,每个班级都显示现在共享的所有资源,即为其复制资源。)
2.增“批量设置”按钮,弹框如附件所示
3.弹框样式直接参照“导入资源”
4.复选需要支持翻页。
追记:弹框中的批量操作,增加“删除”