5G開源平台技術實現方案V1

2022-12-25 04:39:05 字數 4322 閱讀 9692

搭建5g標準開源**智財權狀態評估平台,能夠滿足高可靠性和實時性分析要求,能夠對包括apache、gpl、bsd在內的開源協議**對比分析,支援同時處理超過十萬條開源**的對比分析,能夠對有關的專利、商標資料資訊進行對比分析。

原始碼的對比存在很大的難度,主要存在以下幾個問題:

(1)改變程式注釋、變數名、函式位置;

(2)將子程式展開,嵌入至呼叫子程式的函式中;

(3)新增無效語句和變數;

(4)等效語句的替換;

(5)等價表示式的替換;

(6)改變迴圈語句或選擇語句;

(7)用過程體代替過程呼叫語句;

(8)引入非結構化的語句;

(9)組合原來的和複製後的程式段;

(10)改變程式中獨立語句的順序。

解決原始碼對比,首先要確定兩段**相同的依據。

1、 檔名相同、檔案內容完全相同,則認為相同。

2、 若二者比對項的相應內容不完全相同,但比對項的必要部分、或主要部分沒有本質區別,屬於實質性相似,則二者的比對項仍具有同一性。比如一段原始碼的注釋中簽名資訊:作者、郵箱、公司、編寫日期完全和另外一段**相同,應認定相同。

3、 如果一段開源**和另外一段開源**存在一定行數的**完全相同,則認為相同。

針對以上的判定依據,我們提出以下解決方案:

1、 針對問題1,可採用md5演算法排重,因為相同的檔案的md5演算法相同,且md5長度固定,易於儲存和檢索。可在幾秒鐘內完成上億資料的對比。百度網盤採用這種方式判斷檔案是否相同。

2、 針對問題2,如果一段原始碼注釋、簽名存在大量的一致。我們可將**注釋和簽名等資訊提取出來,建立索引庫,對比前先進行搜尋,如發現有相同的,則標記檔案為可疑檔案。

3、 針對問題3,主要是對原始碼本身進行對比,這裡我們首先就需要對原始碼進行處理,因為原始碼中一般有大量的空行,剔除空行後我們再進行對比,這裡我們先運用simhash演算法,對原始碼每個檔案進行simhash演算法,它通過將原始的文字對映為64位的二進位制數字串,然後通過比較二進位制數字串的差異進而來表示原始文字內容的差異,文字都轉換為simhash簽名,並轉換為long型別儲存,儲存空間大大減少,通過計算兩個simhash的海明距離來判斷相識度,進行初步的篩選, 將相識度高的檔案標記為可疑檔案。

注:simhash演算法來進行文件和**的查重,simhash是google在2023年發表的**《detecting near-duplicates for web crawling 》中提到的一種指紋生成演算法或者叫指紋提取演算法,被google廣泛應用在億級的網頁去重的job中。通過simhash演算法進行初步的篩選後,將相近的檔案標記為可疑檔案。

4、 通過第2步、第3步可將範圍大大縮小,正對標記的可疑檔案,我們進行最後的按行對比。這裡我們採用diff進行比較,diff是linux的命令,diff命令用於比較兩個檔案的差異。

5、 經過以上四步基本上就可以找出相同的原始碼。並提供視覺化的比較介面。匯出比較報告。

圖原始碼對比分析步驟圖

本系統基於b/s結構,採用j**a語言開發並結合流行的hadoop大資料分析平台。支援多使用者、多角色,採用高可用、高吞吐的分布式集群部署、多資料來源,多級使用者通過瀏覽器訪問系統。

本專案是面向服務的soa架構體系,大資料分析視覺化服務設計採用j2ee(j**a 2 platform enterprise edition)三層架構來構建,用j**a 實現介面顯示和使用者互動功能,採用成熟框架品支撐業務處理元件的執行環境,保證系統架構的穩定性、高可靠性和擴充套件性;hadoop大資料分析計算服務,採用流行的hadoop生態框架完成,使用流行的spark框架完成從資料倉儲讀取資料到並行實時計算的功能,資料處理後將資料寫回資料倉儲並提交給視覺化服務用作結果展示;基礎資料服務使用etl工具和flume、kafka等工具,從各個資料來源包括但不限於資料庫、文件伺服器、網路爬蟲資料獲取資料,並經過etl工具清洗、過濾、正規化處理,儲存到hadoop資料倉儲中。

圖技術架構圖

開發框架

應用展示系統使用smf(spring+mybatis+freemarker)框架,spring負責控制層,mybatis負責資料層,freemarker負責展現層,前端展現構建結構清晰、可復用性好、維護方便的伺服器架構。

simhash演算法的內容是:

1. 分詞。把需要判斷文字分詞形成這個文章的特徵單詞。然後形成去掉噪音詞的單詞序列並為每個詞加上權重,權重越大,代表這個單詞在句子中越重要。

2. hash。通過hash演算法把每個詞變成hash值,這樣一連串的字串就變成了一串串數字。

3. 加權。通過對第二個步驟的生成結果,需要按照單詞的權重形成加權數字串。

4. 合併。把上面各個單詞算出來的序列值累加,變成乙個序列串。

5. 降維。把上一步的序列串變為「0、1」的二進位制串,形成最終的simhash簽名。如果每一位大於0記為1,小於0記為0。

6. 比對。經過上訴一系列步驟的計算處理後,要比對的字串也要經過上面的計算步驟處理,分別和已有的降維後的二進位制串進行比對,即可得出校驗結果。

前端採用nginx實現負載均衡、並通過nginx實現反向**伺服器集群,同時作為靜態頁面和**的快取,後端通過tomcat應用集群,配置redis快取伺服器,資料庫端採用mysql資料庫讀寫分離,同時針對整體環境增加zabbix監控系統,保證系統穩定執行,大資料集群採用cloudera manager搭建部署cdh版本的hadoop集群。

針對平台需求所提出的高可靠性和實時性,同時支援超過10萬條**的對比,可見平台對檔案處理速度、效能要求非常高,由此推薦選擇開源的fastdfs分布式檔案系統來進行儲存開源**、專利、商標基礎資料。

fastdfs 是乙個開源的高效能分布式檔案系統(dfs)。 它的主要功能包括:檔案儲存,檔案同步和檔案訪問,以及高容量和負載平衡。

主要解決了海量資料儲存問題,特別適合以中小檔案(建議範圍:4kb < file_size <500mb)為載體的**服務。

fastdfs 系統有三個角色:跟蹤伺服器(tracker server)、儲存伺服器(storage server)和客戶端(client)。

tracker server:跟蹤伺服器,主要做排程工作,起到均衡的作用;負責管理所有的 storage server和 group,每個 storage 在啟動後會連線 tracker,告知自己所屬 group 等資訊,並保持週期性心跳。

storage server:儲存伺服器,主要提供容量和備份服務;以 group 為單位,每個 group 內可以有多台 storage server,資料互為備份。

client:客戶端,上傳**資料的伺服器,也就是我們自己的專案所部署在的伺服器。

為了支援大容量,儲存節點(伺服器)採用了分卷(或分組)的組織方式。儲存系統由乙個或多個卷組成,卷與卷之間的檔案是相互獨立的,所有卷的檔案容量累加就是整個儲存系統中的檔案容量。乙個卷可以由一台或多台儲存伺服器組成,乙個捲下的儲存伺服器中的檔案都是相同的,卷中的多台儲存伺服器起到了冗餘備份和負載均衡的作用。

在卷中增加伺服器時,同步已有的檔案由系統自動完成,同步完成後,系統自動將新增伺服器切換到線上提供服務。當儲存空間不足或即將耗盡時,可以動態新增卷。只需要增加一台或多台伺服器,並將它們配置為乙個新的卷,這樣就擴大了儲存系統的容量。

前端:一般指web應用中使用者可以看得見碰得著的東西,包括web頁面的結構、web的外觀視覺表現以及web層面的互動實現。

前端技術:vue 、element-ui、echarts、html5、css3、j**ascript、jquery等。

後端:一般指與資料庫進行互動以處理相應的業務邏輯,需要考慮的是如何實現功能、資料的訪問、平台的穩定性與效能等。

後端技術:spring boot、spring mvc、spring data jpa等開源第三方元件。

1)開源**、專利、商標資料:資料儲存採用fastdfs分布式檔案系統儲存即可以滿足大資料、高可靠性、實時性、高可用的要求,fastdfs支援儲存gb、tb、pb級的分布式資料,當硬體磁碟不夠時,通過水平增加伺服器即可解決容量不足問題,另外fastdfs對小檔案處理非常高效,要比hdfs更加合適。

2)開源**智財權狀態評估引擎:該引擎主要實現乙個高效能處理**對比分析的工具,可以引入相關開源對比工具或採用j**a核心技術多執行緒進行設計開發,處理能力可以結合微服務+多執行緒任務進行併發處理。

3)資料庫加工模組:該模組需要實現視覺化加工,即採用前端ui技術以及後端api介面實現操作分布式檔案系統,已達到靈活管理開源**、專利、商標基礎資料目的。

4)對比分析模組:該模組主要由後端分析引擎發布介面,由前端ui呼叫來達到檢視、編輯、分析、對比的目的。

5)資訊編輯模組:系統提供對各種基礎資料的編輯介面。

6)資訊查詢模組:系統提供對各種基礎資料的查詢介面。

7)智財權狀態評估模組:系統提供資料分派、待辦、審批、辦理過程等介面。

8)智財權狀態統計模組:系統採用echarts圖表元件來提供豐富的資料展示統計。

10)智財權狀態發布模組:系統提供簡訊通知、郵件通知等功能。

鐵路應急通訊方案技術條件V1

鐵路應急通訊現場接入裝置技術條件v1.0 一 概述 現場應急通訊接入裝置由單兵裝置 現場綜合接入平台 即主裝置 及車站接入裝置組成。各裝置均為可攜式結構設計。在應急搶險時,將現場的語音 資料和影象資訊,根據線路傳輸情況採用相應的接入方式,通過傳輸網路,上傳到應急中心。實現現場內部 現場與中心 現場與...

內網綜合資訊平台方案建議書V1

內網綜合資訊平台 方案建議書 二零一一年十二月 北京唐正時代科技 目錄 1 第一章方案概述 1 1.1.建設背景 1 1.2.建設原則 3 1.2.1.先進性 3 1.2.2.實用性建網時應考慮利用和保護現有的資源 充分發揮裝置效益。3 1.2.3.開放性 3 1.2.4.靈活性 3 1.2.5.可...

天橋現澆箱梁施工技術方案v1

武英高速公路第三合同段 k24 017汽車天橋現澆箱梁施工 方案中鐵電氣化局西安鐵路工程分公司 武英高速公路第三合同段專案經理部 二 八年十一月二日 k24 017 汽車天橋支架現澆施工方案 一 編制依據 1 公路橋涵施工技術規範 jtj041 2000 2 混凝土結構設計規範 gb50010 20...