• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種自定義執行單元的SQL協議擴展定義和實現系統技術方案

    技術編號:36692313 閱讀:24 留言:0更新日期:2023-02-27 20:00
    本發明專利技術公開了一種自定義執行單元的SQL協議擴展定義和實現系統,包括SQL協議擴展定義子系統和SQL協議實現子系統;其中,SQL協議擴展定義子系統包括擴展SQL協議定義模塊和元數據標準定義模塊;SQL協議實現子系統包括擴展SQL語法解析模塊和數據庫執行模塊。本發明專利技術支持異構數據源的統一SQL語言協議,可以解決單個客戶端或ORM框架無法滿足各種不同類型的數據庫的問題,從源頭上減少數據庫邏輯計算和數據一致性的復雜度;此外,本發明專利技術不僅僅可以支持SQL協議數據庫,還可以支持非SQL協議類型的數據源,比如文檔數據庫、圖數據庫、內存緩存系統、文件系統、API接口等獨立標準的數據源協議。議。議。

    【技術實現步驟摘要】
    一種自定義執行單元的SQL協議擴展定義和實現系統


    [0001]本專利技術涉及數據處理
    ,具體來說,涉及一種自定義執行單元的SQL協議擴展定義和實現系統。

    技術介紹

    [0002]隨著數據庫技術的發展,軟件企業和互聯網公司在開發過程中,對于不同的數據庫產品,往往需要在代碼中調用不同的數據庫客戶端或ORM框架來實現代碼層面的數據交互。圍繞這些常用的框架,往往又衍生出更為復雜的代碼和軟件集成工具。
    [0003]例如:mysql數據庫的常用客戶端和框架包括:phpMyAdmin、Navicat、MySQL Workbench、JDBC、MyBatis、Hibernate、Spring Data、sqlx、gorm等。postgresql數據庫常用的客戶端和框架包括:pgAdmin、DBeaver、Navicat、DataGrip、OmniDB、JDBC、MyBatis、Hibernate、Spring Data、sqlx、gorm等。oracle數據庫常用的客戶端和框架包括:Oracle Instant Client、SQL Plus、PL/SQL Developer、JDBC、MyBatis、Hibernate、Spring Data、gorose等。redis數據庫常用的客戶端和框架包括:RedisClient、Redis Desktop Manager、RedisStudio、AnotherRedisDesktopManager、Jedis、Lettuce、Redisson、go
    ?
    redis、redigo等。elastic search數據庫常用的客戶端和框架包括:Elasticsearch
    ?
    Head、cerebro、kinaba、Dejavu、ElasticHD、ebatis、go
    ?
    elasticsearch等。
    [0004]然而,現有的數據庫客戶端和ORM框架,往往只能支持一個或少數幾個類似的數據庫產品,并且在架構設計上不能夠擴展出對更多更廣泛的數據庫產品的支持。在軟件和互聯網行業發展及數據管理需求越來越龐大和復雜的背景下,這種現狀導致了數據應用層面非常復雜的問題。用戶在同時使用多個數據庫的時候,為了同時滿足邏輯一致性和數據一致性,需要在程序或代碼中同時兼容多個數據庫的客戶端和框架,并為邏輯處理和數據一致性的檢驗編寫大量的冗余代碼。例如分布式一致性算法、數據一致性解決方案和分布式事務等。
    [0005]針對相關技術中的問題,目前尚未提出有效的解決方案。

    技術實現思路

    [0006]針對相關技術中的問題,本專利技術提出一種自定義執行單元的SQL協議擴展定義和實現系統,以克服現有相關技術所存在的上述技術問題。
    [0007]本專利技術所描述的支持異構數據源的統一SQL語言協議,使用標準的SQL協議,訪問大部分的常用數據庫和獨立數據源。在這個統一的SQL語言協議中,包括對標準SQL語法解析、擴展SQL語法、通用元數據標準、以及支持數據源的執行單元。自定義的執行單元,不僅僅可以支持SQL協議數據庫,還可以支持非SQL協議類型的數據源,比如文檔數據庫、圖數據庫、鍵值對系統、文件系統、接口(API)等獨立標準的數據源協議。
    [0008]為此,本專利技術采用的具體技術方案如下:
    [0009]一種自定義執行單元的SQL協議擴展定義和實現系統,包括SQL協議擴展定義子系
    統和SQL協議實現子系統;其中,SQL協議擴展定義子系統包括擴展SQL協議定義模塊和元數據標準定義模塊;擴展SQL協議定義模塊用于對擴展的SQL協議進行定義,且該擴展的SQL協議不修改原本的標準,僅添加新功能的支持;元數據標準定義模塊用于對元數據的標準進行定義;SQL協議實現子系統包括擴展SQL語法解析模塊和數據庫執行模塊;擴展SQL語法解析模塊用于將SQL語句解析成便于處理邏輯的語法結構,且語法樹中保存有SQL語句的上下文信息;數據庫執行模塊用于將語法樹轉換為數據源實例上可以執行的語法,且對于每一個不同的數據源協議類型,轉換的邏輯都不相同。
    [0010]進一步的,擴展的SQL協議中的擴展包括創建數據庫的屬性擴展及創建表的屬性擴展。創建數據庫的屬性擴展的信息包括:數據庫類型信息、數據庫地址信息、數據庫端口號信息、數據庫名稱信息、數據庫用戶名信息及數據庫密碼信息;創建表的屬性擴展的信息包括:源表名信息和源字段名信息。
    [0011]進一步的,元數據的協議支持庫、表、字段級別的元數據定義方式,且元數據在定義過程中需要分別映射到數據源實例的庫、表、字段或對應層級。字段包括空字段、未知字段、整型字段、布爾型字段、日期型字段、精確數字段、浮點數字段、可變長字符串字段、不可變長字符串字段、數組字段及時間戳字段。
    [0012]進一步的,語法包括查詢語法、斷言語法、關聯、合并、聚合函數、分組、子查詢及窗口函數。語法樹的節點包括表節點、語義節點及字段節點。表節點包括簡單表、別名表、查詢表、拼接表及關聯表;語義節點包括篩選、分組、選擇、且、或、非、匹配、包含及賦值的語法;字段節點包括普通字段、星號字段、別名字段、方法字段及賦值字段。
    [0013]進一步的,語法轉換的具體邏輯在查詢結構中體現,采用不同的自定義執行單元實現。數據庫執行模塊包括關系型數據源/數據庫執行模塊、鍵值對數據源/數據庫執行模塊、文檔數據庫執行模塊、文件數據源執行模塊及接口數據源執行模塊。
    [0014]本專利技術的有益效果為:
    [0015]1)本專利技術支持異構數據源的統一SQL語言協議,可以解決單個客戶端或ORM框架無法滿足各種不同類型的數據庫的問題,從源頭上減少數據庫邏輯計算和數據一致性的復雜度。
    [0016]2)本專利技術不僅僅可以支持SQL協議數據庫,還可以支持非SQL協議類型的數據源,比如文檔數據庫、圖數據庫、內存緩存系統、文件系統、API接口等獨立標準的數據源協議。
    [0017]3)本專利技術在算法層面,由于協議和代碼層面的一致性,數據執行指令可以集成到同一個客戶端、同一個進程(PROCESS)中。大部分的業務場景中,開發人員可以使用簡單的邏輯鏈路代替分布式的處理邏輯。比如原先使用三種不同的數據庫的客戶端處理業務的三個部分,在進程中通信,可以在同一個客戶端中處理所有三個部分邏輯。
    [0018]4)本專利技術通過使用同一個客戶端的優勢也解決了客戶端的數據一致性問題。在數據寫入的場景中,不需要在不同客戶端之間執行數據拷貝,減少了IO等待和異常的可能性,避免了客戶端的數據一致性問題。
    [0019]5)本專利技術通過利用同一個客戶端將數據管理的邏輯在同一個進程中執行,可以按照鏈表或樹形結構編排邏輯和事務表達。大部分的業務邏輯都可以在依賴中遞歸,降低了事務的復雜度,不需要再通過分布式事務的算法實現。
    附圖說明
    [0020]為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施本文檔來自技高網
    ...

    【技術保護點】

    【技術特征摘要】
    1.一種自定義執行單元的SQL協議擴展定義和實現系統,其特征在于,包括SQL協議擴展定義子系統(1)和SQL協議實現子系統(2);其中,所述SQL協議擴展定義子系統(1)包括擴展SQL協議定義模塊(11)和元數據標準定義模塊(12);所述擴展SQL協議定義模塊(11)用于對擴展的SQL協議進行定義,且該擴展的SQL協議不修改原本的標準,僅添加新功能的支持;所述元數據標準定義模塊(12)用于對元數據的標準進行定義;所述SQL協議實現子系統(2)包括擴展SQL語法解析模塊(21)和數據庫執行模塊(22);所述擴展SQL語法解析模塊(21)用于將SQL語句解析成便于處理邏輯的語法結構,且語法樹中保存有SQL語句的上下文信息;所述數據庫執行模塊(22)用于將語法樹轉換為數據源實例上可以執行的語法,且對于每一個不同的數據源協議類型,轉換的邏輯都不相同。2.根據權利要求1所述的一種自定義執行單元的SQL協議擴展定義和實現系統,其特征在于,所述擴展的SQL協議中的擴展包括創建數據庫的屬性擴展及創建表的屬性擴展。3.根據權利要求2所述的一種自定義執行單元的SQL協議擴展定義和實現系統,其特征在于,所述創建數據庫的屬性擴展的信息包括:數據庫類型信息、數據庫地址信息、數據庫端口號信息、數據庫名稱信息、數據庫用戶名信息及數據庫密碼信息;所述創建表的屬性擴展的信息包括:源表名信息和源字段名信息。4.根據權利要求1所述的一種自定義執行單元的SQL協議擴展定義和實現系統,其特征在于,所述元數據的協議支持庫、表、字段級別的元數據定義方式,且所...

    【專利技術屬性】
    技術研發人員:王剛韋振源
    申請(專利權)人:上海恩畢可施科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩人妻无码免费视频一区二区三区| 曰韩人妻无码一区二区三区综合部| 潮喷无码正在播放| av无码精品一区二区三区四区| 国产亚洲精品a在线无码| 无码AV中文一区二区三区| 亚州AV综合色区无码一区 | 无码精品人妻一区二区三区AV| 无码人妻一区二区三区免费视频 | 无码人妻少妇久久中文字幕| 亚洲va无码专区国产乱码| 亚洲熟妇无码爱v在线观看| 国产成人无码AV在线播放无广告 | 无码专区6080yy国产电影| 日韩亚洲AV无码一区二区不卡| 无码精品人妻一区二区三区AV| 久久无码人妻一区二区三区| 国产成人麻豆亚洲综合无码精品| 黑人巨大无码中文字幕无码 | 熟妇人妻无码xxx视频| 精品三级AV无码一区| 午夜无码A级毛片免费视频 | 无码内射中文字幕岛国片| 天堂无码在线观看| 无码一区二区波多野结衣播放搜索| 无码日韩人妻精品久久蜜桃| 亚洲精品色午夜无码专区日韩 | 日韩AV无码一区二区三区不卡毛片| 国产精品亚洲专区无码牛牛| 亚洲AV无码国产剧情| 久久AV无码精品人妻出轨| 无码少妇A片一区二区三区| 最新亚洲春色Av无码专区| 在线观看无码不卡AV| 精品多人p群无码| 少妇仑乱A毛片无码| 日韩精品无码人妻免费视频| 国产精品午夜无码av体验区| 午夜寂寞视频无码专区| 国产成人精品无码专区| 亚洲精品人成无码中文毛片|