述匯總值基于計(jì)算所述行中的一個(gè)或多個(gè)值的總 和、計(jì)數(shù)、平均值、最小值或最大值。
[017引7.根據(jù)1-6中任一項(xiàng)所述的方法,其中所述模型包含多個(gè)互連節(jié)點(diǎn),其中每個(gè)節(jié) 點(diǎn)與一個(gè)或多個(gè)葉關(guān)聯(lián)。
[0177] 8.根據(jù)7所述的方法,其中所述第一集合中的每個(gè)葉與所述多個(gè)互連節(jié)點(diǎn)中的所 述起始節(jié)點(diǎn)或另一個(gè)節(jié)點(diǎn)關(guān)聯(lián)。
[017引 9.根據(jù)1-8中任一項(xiàng)所述的方法,其中生成所述第一數(shù)據(jù)庫查詢包括:
[0179] 生成5個(gè)數(shù)據(jù)集W存儲(chǔ)數(shù)據(jù)庫查詢片段;
[0180] 對(duì)于所述第一集合中的每個(gè)葉,基于所述葉的屬性,將一個(gè)或多個(gè)數(shù)據(jù)庫查詢片 段添加到所述5個(gè)數(shù)據(jù)集中的一個(gè)或多個(gè)中;W及
[0181] 通過將來自所述5個(gè)數(shù)據(jù)集的數(shù)據(jù)庫查詢片段追加在一起來構(gòu)造所述第一數(shù)據(jù) 庫查詢。
[0182] 10.根據(jù)1-9中任一項(xiàng)所述的方法,其中所述第一數(shù)據(jù)庫查詢包含SQL(結(jié)構(gòu)化查 詢語言)查詢,W及所述5個(gè)數(shù)據(jù)集對(duì)應(yīng)于沈LECT、J0IN、WHERE、GR0UPBY和HAVING的SQL 命令。
[0183] 11.根據(jù)1-10中任一項(xiàng)所述的方法,其中與所述結(jié)果關(guān)聯(lián)的所述細(xì)節(jié)集合與第二 起始節(jié)點(diǎn)和第二集合的葉關(guān)聯(lián),其中生成所述第二數(shù)據(jù)庫查詢包括,基于所述第二起始節(jié) 點(diǎn)和所述第二集合的葉生成所述第二數(shù)據(jù)庫查詢,并且其中按所述第一結(jié)果輸出中與選定 的結(jié)果對(duì)應(yīng)的行中的一個(gè)或多個(gè)值對(duì)所述第二數(shù)據(jù)庫查詢進(jìn)行過濾。
[0184] 12.根據(jù)1-11中任一項(xiàng)所述的方法,其中所述一個(gè)或多個(gè)數(shù)據(jù)庫包含關(guān)系數(shù)據(jù) 庫、非關(guān)系數(shù)據(jù)庫、基于文件的數(shù)據(jù)庫和/或非基于文件的數(shù)據(jù)庫。
[0185] 13.根據(jù)1-12中任一項(xiàng)所述的方法,其中所述第一結(jié)果輸出根據(jù)所述第一集合中 的其中一個(gè)葉進(jìn)行排序。
[0186] 14. 一種用于生成數(shù)據(jù)庫查詢的系統(tǒng),所述系統(tǒng)包括:
[0187] 一個(gè)或多個(gè)數(shù)據(jù)庫;
[0188] 客戶端設(shè)備;化及
[0189] 服務(wù)器,所述服務(wù)器配置來:
[0190] 通過數(shù)據(jù)網(wǎng)絡(luò)從所述客戶端設(shè)備接收模型輸入,其中所述模型輸入包括與所述 一個(gè)或多個(gè)數(shù)據(jù)庫中存儲(chǔ)的一個(gè)或多個(gè)數(shù)據(jù)庫表對(duì)應(yīng)的模型中包括的節(jié)點(diǎn)和第一集合的 葉;
[0191] 生成多個(gè)數(shù)據(jù)集W存儲(chǔ)數(shù)據(jù)庫查詢片段;
[0192] 對(duì)于所述第一集合中的每個(gè)葉,基于所述葉的屬性,將一個(gè)或多個(gè)數(shù)據(jù)庫查詢片 段添加到所述多個(gè)數(shù)據(jù)集中的一個(gè)或多個(gè)中;
[0193] 通過將來自所述多個(gè)數(shù)據(jù)集的所述數(shù)據(jù)庫查詢片段追加在一起來構(gòu)造數(shù)據(jù)庫查 詢;
[0194] 對(duì)所述一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫查詢;W及
[0195] 將所述數(shù)據(jù)庫查詢的結(jié)果返回到所述客戶端設(shè)備。
[0196] 15.根據(jù)14所述的系統(tǒng),其中所述數(shù)據(jù)庫查詢包含SQL(結(jié)構(gòu)化查詢語言)查詢, W及所述多個(gè)數(shù)據(jù)集對(duì)應(yīng)于沈LECT、JOIN、WHERE、GROUPBY和HAVING的S化命令。
[0197] 16.根據(jù)15所述的系統(tǒng),其中所述葉與葉S化片段和葉標(biāo)識(shí)符關(guān)聯(lián),并且其中所述 服務(wù)器配置來在所述葉可從所述節(jié)點(diǎn)達(dá)到時(shí),使用語法葉S化片段}AS{:葉標(biāo)識(shí)符}"將 S化片段添加到SELECT數(shù)據(jù)集。
[019引 17.根據(jù)15所述的系統(tǒng),其中所述葉與葉標(biāo)識(shí)符關(guān)聯(lián),并且其中所述服務(wù)器配置 來在所述葉與第一葉類型關(guān)聯(lián)時(shí),使用語法葉標(biāo)識(shí)符}"將S化片段添加到GROUPBY數(shù) 據(jù)集。
[0199] 18.根據(jù)15所述的系統(tǒng),其中所述葉與葉標(biāo)識(shí)符和節(jié)點(diǎn)連接S化片段關(guān)聯(lián),并且其 中所述服務(wù)器配置來在所述葉未連接到所述節(jié)點(diǎn)而是連接到所述模型中的另一個(gè)節(jié)點(diǎn)時(shí), 使用"LEFTJOIN{節(jié)點(diǎn)標(biāo)識(shí)符}ON{節(jié)點(diǎn)連接S化片段}"將S化片段添加到JOIN數(shù)據(jù)集, 其中所述節(jié)點(diǎn)連接S化片段與將所述模型中的兩個(gè)節(jié)點(diǎn)連接關(guān)聯(lián)。
[0200] 19. -種用于查詢數(shù)據(jù)庫的方法,其包括:
[0201] 在服務(wù)器設(shè)備處,通過網(wǎng)絡(luò)連接從客戶端設(shè)備接收查詢輸入;
[0202] 基于所述查詢輸入生成數(shù)據(jù)庫查詢;
[0203] 使得所述數(shù)據(jù)庫查詢開始對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行;
[0204] 確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間是否存在網(wǎng)絡(luò)連接;W及
[0205] 當(dāng)所述服務(wù)器確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使 得所述數(shù)據(jù)庫查詢撤銷。
[0206] 20.根據(jù)19所述的方法,其中確定所述客戶端設(shè)備與所述服務(wù)器之間是否存在網(wǎng) 絡(luò)連接包括,對(duì)所述網(wǎng)絡(luò)連接執(zhí)行非阻塞讀取。
[0207] 21. -種用于查詢數(shù)據(jù)庫的方法,其包括:
[020引 由服務(wù)器計(jì)算設(shè)備,通過網(wǎng)絡(luò)連接從客戶端設(shè)備接收查詢輸入;
[0209] 在所述客戶端計(jì)算設(shè)備與所述服務(wù)器計(jì)算設(shè)備之間建立非阻塞套接字;
[0210] 基于所述查詢輸入生成數(shù)據(jù)庫查詢;
[0211] 使得所述數(shù)據(jù)庫查詢開始對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行;
[0212] 由所述服務(wù)器計(jì)算設(shè)備對(duì)所述非阻塞套接字執(zhí)行讀取請(qǐng)求;
[0213] 響應(yīng)對(duì)所述非阻塞套接字的讀取請(qǐng)求,接收代碼;
[0214] 基于所接收的代碼確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間是否存在網(wǎng)絡(luò)連 接;化及
[0215] 當(dāng)所述服務(wù)器確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使 得所述數(shù)據(jù)庫查詢撤銷。
[0216] 22.根據(jù)21所述的方法,其中所述一個(gè)或多個(gè)數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫,W及所述查 詢是SQL(結(jié)構(gòu)化查詢語言)查詢。
[0217] 23.根據(jù)21或22所述的方法,其中使得所述數(shù)據(jù)庫查詢撤銷包括,使得第二數(shù)據(jù) 庫查詢開始對(duì)所述一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行。
[021引 24.根據(jù)21-23中任一項(xiàng)所述的方法,其中每個(gè)非阻塞套接字與對(duì)應(yīng)查詢之間存 在一對(duì)一映射,并且其中維護(hù)每個(gè)非阻塞套接字-查詢映射的列表。
[0219] 25.根據(jù)24所述的方法,還包括對(duì)所述列表中包括的每個(gè)非阻塞套接字周期性地 執(zhí)行所述讀取請(qǐng)求。
[0220] 26.根據(jù)21-25中任一項(xiàng)所述的方法,其中所述代碼指示通過所述網(wǎng)絡(luò)連接,所述 客戶端計(jì)算設(shè)備在所述非阻塞套接字相對(duì)于所述服務(wù)器計(jì)算設(shè)備的另一端被連接。
[022。 27.根據(jù)26所述的方法,其中所述代碼包含"EAGAIN"或"EW0UL孤LOCK"消息中的 一個(gè)或多個(gè)。
[0222] 28. -種用于查詢數(shù)據(jù)庫的服務(wù)器計(jì)算設(shè)備,其包括:
[0223] 處理器;臥及
[0224] 存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)在被所述處理器執(zhí)行時(shí)使得所述服務(wù)器計(jì)算設(shè)備執(zhí)行如 下步驟的指令:
[0225] 通過網(wǎng)絡(luò)連接從客戶端設(shè)備接收查詢輸入;
[0226] 在所述客戶端計(jì)算設(shè)備與所述服務(wù)器計(jì)算設(shè)備之間建立非阻塞套接字;
[0227] 基于所述查詢輸入生成數(shù)據(jù)庫查詢;
[022引使得所述數(shù)據(jù)庫查詢開始對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行;
[0229] 對(duì)所述非阻塞套接字執(zhí)行讀取請(qǐng)求;
[0230] 響應(yīng)對(duì)所述非阻塞套接字的所述讀取請(qǐng)求,接收代碼;
[0231] 基于所接收的代碼確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間是否存在網(wǎng)絡(luò)連 接;化及
[0232] 當(dāng)所述服務(wù)器確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使 得所述數(shù)據(jù)庫查詢撤銷。
[0233] 29.根據(jù)28所述的服務(wù)器計(jì)算設(shè)備,其中所述一個(gè)或多個(gè)數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫, W及所述查詢是SQL(結(jié)構(gòu)化查詢語言)查詢。
[0234] 30.根據(jù)28或29所述的服務(wù)器計(jì)算設(shè)備,其中使得所述數(shù)據(jù)庫查詢撤銷包括,使 得第二數(shù)據(jù)庫查詢開始對(duì)所述一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行。
[0235] 31.根據(jù)28-30中任一項(xiàng)所述的服務(wù)器計(jì)算設(shè)備,其中每個(gè)非阻塞套接字與對(duì)應(yīng) 查詢之間存在一對(duì)一映射,并且其中維護(hù)每個(gè)非阻塞套接字-查詢映射的列表。
[0236] 32.根據(jù)31所述的服務(wù)器計(jì)算設(shè)備,其還包括對(duì)所述列表中包括的每個(gè)非阻塞套 接字周期性地執(zhí)行所述讀取請(qǐng)求。
[0237] 33.根據(jù)28-32中任一項(xiàng)所述的服務(wù)器計(jì)算設(shè)備,其中所述代碼指示通過所述網(wǎng) 絡(luò)連接,所述客戶端計(jì)算設(shè)備在所述非阻塞套接字相對(duì)于所述服務(wù)器計(jì)算設(shè)備的另一端被 連接。
[023引 34.根據(jù)33所述的服務(wù)器計(jì)算設(shè)備,其中所述代碼包含"EAGAIN"或 "EW0UL孤LOCK"消息中的一個(gè)或多個(gè)。
[0239] 35.-種用于查詢數(shù)據(jù)庫的客戶端計(jì)算設(shè)備,其包括:
[0240] 處理器;W及
[0241] 存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)在被所述處理器執(zhí)行時(shí)使得所述客戶端計(jì)算設(shè)備執(zhí)行如 下步驟的指令:
[0242] 通過網(wǎng)絡(luò)連接將查詢輸入傳送到服務(wù)器計(jì)算設(shè)備,其中在所述客戶端計(jì)算設(shè)備與 所述服務(wù)器計(jì)算設(shè)備之間建立非阻塞套接字,并且其中基于所述查詢輸入生成數(shù)據(jù)庫查詢 并對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫查詢;
[0243] 從所述服務(wù)器計(jì)算設(shè)備接收對(duì)所述非阻塞套接字的讀取請(qǐng)求;W及
[0244] 響應(yīng)對(duì)所述非阻塞套接字的讀取請(qǐng)求,向所述服務(wù)器計(jì)算設(shè)備傳送代碼,其中所 述代碼使所述服務(wù)器計(jì)算設(shè)備能夠基于所接收到的代碼確定所述客戶端設(shè)備與所述服務(wù) 器計(jì)算設(shè)備之間是否仍存在網(wǎng)絡(luò)連接,并且其中所述服務(wù)器計(jì)算設(shè)備能夠在所述服務(wù)器確 定所述客戶端設(shè)備與所述服務(wù)器計(jì)算設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使得所述數(shù)據(jù)庫查詢撤 銷。
[0245] 36.根據(jù)35所述的客戶端計(jì)算設(shè)備,其中所述一個(gè)或多個(gè)數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫, W及所述查詢是SQL(結(jié)構(gòu)化查詢語言)查詢。
[0246] 37.根據(jù)35或36所述的客戶端計(jì)算設(shè)備,其中所述非阻塞套接字與所述查詢之間 存在一對(duì)一映射,并且其中維護(hù)每個(gè)非阻塞套接字-查詢映射的列表。
[0247] 38.根據(jù)35-37中任一項(xiàng)所述的客戶端計(jì)算設(shè)備,其中所述讀取請(qǐng)求是周期性地 從所述服務(wù)器計(jì)算設(shè)備接收的。
[024引 39.根據(jù)35-38中任一項(xiàng)所述的客戶端計(jì)算設(shè)備,其中所述代碼指示所述客戶端 計(jì)算設(shè)備通過所述網(wǎng)絡(luò)連接被連接。
[0249] 40.根據(jù)35-39中任一項(xiàng)所述的客戶端計(jì)算設(shè)備,其中所述代碼包含"EAGAIN"或 "EW0UL孤LOCK"消息中的一個(gè)或多個(gè)。
[0250] 41.-種包含指令的非瞬態(tài)記錄介質(zhì),在所述指令被服務(wù)器計(jì)算設(shè)備執(zhí)行時(shí)使得 所述服務(wù)器計(jì)算設(shè)備執(zhí)行如下步驟:
[0巧1] 通過網(wǎng)絡(luò)連接從客戶端設(shè)備接收查詢輸入;
[0巧2] 在所述客戶端計(jì)算設(shè)備與所述服務(wù)器計(jì)算設(shè)備之間建立非阻塞套接字;
[0巧3] 基于所述查詢輸入生成數(shù)據(jù)庫查詢;
[0254] 使得所述數(shù)據(jù)庫查詢開始對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行;
[ο巧5] 對(duì)所述非阻塞套接字執(zhí)行讀取請(qǐng)求;
[0256] 響應(yīng)對(duì)所述非阻塞套接字的所述讀取請(qǐng)求,接收代碼;
[0巧7] 基于所接收的代碼確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間是否存在網(wǎng)絡(luò)連 接;化及
[0巧引當(dāng)所述服務(wù)器確定所述客戶端設(shè)備與所述服務(wù)器設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使 得所述數(shù)據(jù)庫查詢撤銷。
[0巧9] 42.根據(jù)41所述的非瞬態(tài)記錄介質(zhì),其中所述一個(gè)或多個(gè)數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫, W及所述查詢是SQL(結(jié)構(gòu)化查詢語言)查詢。
[0260] 43.根據(jù)41或42所述的非瞬態(tài)記錄介質(zhì),其中使得所述數(shù)據(jù)庫查詢撤銷包括,使 得第二數(shù)據(jù)庫查詢開始對(duì)所述一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行。
[0261] 44.根據(jù)41-43中任一項(xiàng)所述的非瞬態(tài)記錄介質(zhì),其中每個(gè)非阻塞套接字與對(duì)應(yīng) 查詢之間存在一對(duì)一映射,并且其中維護(hù)每個(gè)非阻塞套接字查詢映射的列表。
[0262] 45.根據(jù)44所述的非瞬態(tài)記錄介質(zhì),其還包含在被所述服務(wù)器計(jì)算設(shè)備的所述處 理器執(zhí)行時(shí)使得所述服務(wù)器計(jì)算設(shè)備對(duì)所述列表中包括的每個(gè)非阻塞套接字周期性地執(zhí) 行所述讀取請(qǐng)求的指令。
[0263] 46.根據(jù)41-45中任一項(xiàng)所述的非瞬態(tài)記錄介質(zhì),其中所述代碼指示通過所述網(wǎng) 絡(luò)連接,所述客戶端計(jì)算設(shè)備在所述非阻塞套接字相對(duì)于所述服務(wù)器計(jì)算設(shè)備的另一端被 連接。
[0264] 47.根據(jù)46所述的非瞬態(tài)記錄介質(zhì),其中所述代碼包含"EAGAIN"或 "EW0UL孤LOCK"消息中的一個(gè)或多個(gè)。
[0265] 48.-種包含指令的非瞬態(tài)記錄介質(zhì),在所述指令被客戶端計(jì)算設(shè)備執(zhí)行時(shí)使得 所述客戶端計(jì)算設(shè)備執(zhí)行如下步驟:
[0266] 通過網(wǎng)絡(luò)連接將查詢輸入傳送到服務(wù)器計(jì)算設(shè)備,其中在所述客戶端計(jì)算設(shè)備與 所述服務(wù)器計(jì)算設(shè)備之間建立非阻塞套接字,并且其中基于所述查詢輸入生成數(shù)據(jù)庫查詢 并對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫查詢;
[0267] 從所述服務(wù)器計(jì)算設(shè)備接收對(duì)所述非阻塞套接字的讀取請(qǐng)求;W及
[026引響應(yīng)對(duì)所述非阻塞套接字的讀取請(qǐng)求,向所述服務(wù)器計(jì)算設(shè)備傳送代碼,其中所 述代碼使所述服務(wù)器計(jì)算設(shè)備能夠基于所接收到的代碼確定所述客戶端設(shè)備與所述服務(wù) 器計(jì)算設(shè)備之間是否仍存在網(wǎng)絡(luò)連接,并且其中所述服務(wù)器計(jì)算設(shè)備能夠在所述服務(wù)器確 定所述客戶端設(shè)備與所述服務(wù)器計(jì)算設(shè)備之間不存在網(wǎng)絡(luò)連接時(shí),使得所述數(shù)據(jù)庫查詢撤 銷。
[0269] 49.根據(jù)48所述的非瞬態(tài)記錄介質(zhì),其中所述一個(gè)或多個(gè)數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫, W及所述查詢是SQL(結(jié)構(gòu)化查詢語言)查詢。
[0270] 50.根據(jù)48或49所述的非瞬態(tài)記錄介質(zhì),其中所述非阻塞套接字與所述查詢之間 存在一對(duì)一映射,并且其中維護(hù)每個(gè)非阻塞套接字-查詢映射的列表。
[0271] 51.根據(jù)48-50中任一項(xiàng)所述的非瞬態(tài)記錄介質(zhì),其中所述讀取請(qǐng)求是周期性地 從所述服務(wù)器計(jì)算設(shè)備接收的。
[0272] 52.根據(jù)48-51中任一項(xiàng)所述的非瞬態(tài)記錄介質(zhì),其中所述代碼指示所述客戶端 計(jì)算設(shè)備通過所述網(wǎng)絡(luò)連接被連接。
[0273] 53.根據(jù)48-52中任一項(xiàng)所述的非瞬態(tài)記錄介質(zhì),其中所述代碼包含"EAGAIN"或 "EW0UL孤LOCK"消息中的一個(gè)或多個(gè)。
[0274] 54.根據(jù)1所述的方法,其中所述第一集合的一個(gè)或多個(gè)葉中的至少兩個(gè)葉連接 到所述模型中的不同節(jié)點(diǎn)。
[0275] 55.根據(jù)14所述的系統(tǒng),其中所述第一集合的一個(gè)或多個(gè)葉中的至少兩個(gè)葉連接 到所述模型中的不同節(jié)點(diǎn)。 陽27引 附錄A
[0277]
[0278]
[0279]
[0280]
[0286]
[