两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

區(qū)塊鏈上的智能合約程序的更新方法及裝置與流程

文檔序號:12801664閱讀:281來源:國知局
區(qū)塊鏈上的智能合約程序的更新方法及裝置與流程

本發(fā)明屬于區(qū)塊鏈技術領域,尤其涉及一種區(qū)塊鏈上的智能合約程序的更新方法及裝置。



背景技術:

區(qū)塊鏈上的智能合約本質上是一段程序化代碼,與其他程序一樣,它具有創(chuàng)建、初始化、狀態(tài)存儲、函數調用、結束/銷毀等生命周期。與普通程序不同的在于,它是運行在區(qū)塊鏈上,由全體參與者共同保障其代碼和運行結果收到所有人認可的。即使該運行結果對某個參與方不利,該參與方拒絕承認該結果,由于區(qū)塊鏈的共識機制保障,其他的大部分參與者都認可該結果,則該結果仍然成立,不受少數參與者的抵賴影響。

舉例來說,兩個參與者a和b在區(qū)塊鏈上通過智能合約約定對數字資產z的權屬從a轉移到b,轉移的觸發(fā)條件是b向a在區(qū)塊鏈上支付一定數量的數字貨幣。首先,a將數字資產抵押到智能合約中,具體方式是將行為動作和自己掌握的私鑰進行數字簽名后發(fā)送到區(qū)塊鏈上;其次,b將數字貨幣通過該智能合約發(fā)送給a,具體方式同樣是將該行為動作和自己掌握的私鑰進行數字簽名后發(fā)送到區(qū)塊鏈上。區(qū)塊鏈上其他節(jié)點對上述行為動作、數字簽名進行驗證,通過后即認可了這筆交易,對于區(qū)塊鏈節(jié)點來說a、b就完成了相應的價值交換??梢钥闯觯@樣的交換一旦約定好,不以任何參與方的意志為轉移。

但是,真實的金融服務中,合約不會是一成不變的。在雙方交易過程中可能會出現條款變更的狀況,甚至有可能因為合約潛在漏洞造成雙方損失,這就需要對智能合約進行修改。然而,智能合約一旦確定后,代碼就無法更改,其靈活性受到大大的限制。例如,比較著名的“thedao”事件,這個智能合約總共管理了超過1億美元的數字資產,但是由于代碼漏洞導致資產被盜。區(qū)塊鏈底層服務不得不對區(qū)塊鏈進行“分叉”操作(數據、協(xié)議一分為二),才完全地清除thedao的影響,系統(tǒng)受到攻擊后很難進行快速有效的處理。



技術實現要素:

本發(fā)明實施例提供了一種區(qū)塊鏈上的智能合約程序的更新方法及裝置,能夠可以針對代碼漏洞、業(yè)務升級等情境下的智能合約程序進行修改及更新。

第一方面,一種區(qū)塊鏈上的智能合約程序的更新方法,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該方法包括:建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表;接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。

第二方面,提供了一種區(qū)塊鏈上的智能合約程序的更新裝置,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該裝置包括:建表單元和功能設置單元。該建表單元被配置為建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表。該功能設置單元被配置為接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。

根據本發(fā)明實施例提供的區(qū)塊鏈上的智能合約程序的更新方法及裝置,通過在智能合約中建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,在發(fā)現智能合約缺陷或其他需要修改更新智能合約情況下根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改,從而實現針對代碼漏洞、業(yè)務升級等情境下的主智能合約程序能夠實現的功能進行修改及更新。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性應用場景圖;

圖2是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性流程圖;

圖3是本發(fā)明另一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性流程圖;

圖4是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的示意性框圖;

圖5是本發(fā)明另一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的示意性框圖;

圖6是本發(fā)明實施例的一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的計算設備實現的示意性框圖。

具體實施方式

為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

下面將詳細描述本發(fā)明的各個方面的特征和示例性實施例。在下面的詳細描述中,提出了許多具體細節(jié),以便提供對本發(fā)明的全面理解。但是,對于本領域技術人員來說很明顯的是,本發(fā)明可以在不需要這些具體細節(jié)中的一些細節(jié)的情況下實施。下面對實施例的描述僅僅是為了通過示出本發(fā)明的示例來提供對本發(fā)明的更好的理解。本發(fā)明決不限于下面所提出的任何具體配置和算法,而是在不脫離本發(fā)明的精神的前提下覆蓋了元素、部件和算法的任何修改、替換和改進。在附圖和下面的描述中,沒有示出公知的結構和技術,以便避免對本發(fā)明造成不必要的模糊。

需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。

圖1是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性應用場景圖。如圖1所示,該場景的區(qū)塊鏈網絡系統(tǒng)可以包括由多個網絡節(jié)點組成的對等計算機網絡(p2p)。該區(qū)塊鏈網絡系統(tǒng)可以是一種在對等者(peer)之間分配任務和工作負載的分布式應用架構,是對等計算模型在應用層形成的一種組網或網絡形式?!皃eer”在英語里有“對等者、伙伴、對端”的意義。該系統(tǒng)也可以定義為:網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡連接能力、打印機等),這些共享資源通過網絡提供服務和內容,能被其它對等節(jié)點(peer)直接訪問而無需經過中間實體。在此網絡中的參與者既是資源、服務和內容的提供者(server),又是資源、服務和內容的獲取者(client)。

在p2p網絡環(huán)境中,彼此連接的多臺計算機之間都處于對等的地位,各臺計算機有相同的功能,無主從之分,一臺計算機既可作為服務器,設定共享資源供網絡中其他計算機所使用,又可以作為工作站,整個網絡一般來說不依賴專用的集中服務器,也沒有專用的工作站。網絡中的每一臺計算機既能充當網絡服務的請求者,又對其它計算機的請求做出響應,提供資源、服務和內容。通常這些資源和服務包括:信息的共享和交換、計算資源(如cpu計算能力共享)、存儲共享(如緩存和磁盤空間的使用)、網絡共享、打印機共享等;在一個示例中,處于該對等計算機網絡的支付網絡中的網絡節(jié)點可以執(zhí)行智能合約,該智能合約可以是區(qū)塊鏈上的一段程序代碼,規(guī)定了合約相關網絡節(jié)點的用戶的權利與義務以及動作條款。合約相關網絡節(jié)點的用戶通過發(fā)送區(qū)塊鏈交易來確認智能合約、支付合約可能需要的數字貨幣、調用智能合約規(guī)定的功能等等。

圖2是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性流程圖。如圖2所示,該區(qū)塊鏈上的智能合約程序的更新方法200,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該方法可以包括:s210,建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表;s220,接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。應理解,上述地址可以是區(qū)塊鏈中的地址,可以理解為是區(qū)塊鏈網絡上的一個賬戶地址,通常是由某非對稱密鑰的公鑰的某種變形的形式出現,只有持有該地址對應的私鑰才能夠獲得操作該賬戶的權限。智能合約對應的虛擬賬戶,與上述賬戶地址不同,智能合約地址沒有對應的操作私鑰,它是由合約代碼規(guī)定哪些賬戶地址可以有操作權限。該方法通過在智能合約中建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,在發(fā)現智能合約缺陷或其他需要修改更新智能合約情況下根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改,從而實現針對代碼漏洞、業(yè)務升級等情境下的主智能合約程序能夠實現的功能進行修改及更新。

在一些示例中,上述方法中的功能標識可以包括函數名和函數參數。在一些示例中,上述方法中的功能智能合約程序可以包括一個或一個以上實際函數。在一些實施例中,在發(fā)現智能合約缺陷或其他需要修改更新智能合約情況下,可以通過該方法,可以修改出現缺陷的功能智能合約與用于修補該缺陷的或功能完善的功能智能合約的地址在上述與功能標識的映射表,從而使得該主智能合約的功能得到修復和更新。在一些示例中,如果需要刪除主智能合約的一項功能,可以將上述功能標識的映射表中需要刪除的功能對應的功能智能合約地址的映射關系修改為無此項功能的功能智能合約的地址即可。在一些示例中,該方法還可以包括:根據功能設置請求將映射表中的功能智能合約程序的地址更新為新增的功能智能合約程序的地址。通過上述區(qū)塊鏈上的智能合約程序的更新方法可以實現對智能合約的程序代碼進行更新、增加和刪除。

根據一些實施例,該功能設置請求可以包括功能設置請求發(fā)送方身份標識,其中,該方法還可以包括:將功能設置請求發(fā)送方身份標識與預設功能設置請求發(fā)送方身份標識進行匹配;如果匹配成功,則根據該功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。在一些示例中,該方法還可以包括,設置功能設置請求發(fā)送方的賬戶地址,其中,預設功能設置請求發(fā)送方身份標識包括賬戶地址。在一些示例中,該方法中的預設功能設置請求發(fā)送方身份標識可以包括預設的功能設置請求發(fā)送方的數字簽名。在一些示例中,上述設置功能設置請求發(fā)送方的賬戶地址的步驟可以包括:基于智能合約的監(jiān)管者地址或功能調用請求的發(fā)送方選舉出的監(jiān)管者地址獲得功能設置請求發(fā)送方的賬戶地址。

圖3是本發(fā)明另一種實施例的區(qū)塊鏈上的智能合約程序的更新方法的示意性流程圖。如圖3所示,該區(qū)塊鏈上的智能合約程序的更新方法300,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該方法可以包括:s310,建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表;s320,接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改;s330,接收功能調用請求,其中,功能調用請求包括功能標識;s340,基于各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,將功能調用請求轉發(fā)至功能調用請求包括的功能標識對應的功能智能合約程序的地址。在一些示例中,上述方法可以接收智能合約調用者網絡節(jié)點希望對智能合約進行調用的功能調用請求,基于各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,將功能調用請求轉發(fā)至功能調用請求包括的功能標識對應的功能智能合約程序的地址,接收的功能調用請求的功能智能合約程序在執(zhí)行結束后,會返回一個結果給上述的智能合約調用者網絡節(jié)點,實現智能合約的調用。

在一個示例中,該方法還可以包括根據函數名和函數參數確定功能調用請求所請求調用的功能智能合約程序包含的實際函數。在一些示例中,該功能調用請求可以包括該主智能合約的地址、函數名和函數參數,在上述映射表中,該函數名與相應的功能智能合約的地址對應,再通過該函數參數確定該地址的功能智能合約中的相應的實際函數,上述功能調用請求便可調用該確定的實際函數,通過函數映射表的形式為主智能合約提供功能實現。在一些示例中,可以為上述功能智能合約程序設置統(tǒng)一的模板程序模塊,例如,通過在模板程序中設置身份驗證參數來對網絡節(jié)點進行身份驗證來提高智能合約的安全性。

上文中結合圖2和圖3,詳細描述了根據本發(fā)明實施例的區(qū)塊鏈上的智能合約程序的更新方法,下面將結合圖4至圖5,詳細描述根據本發(fā)明實施例的區(qū)塊鏈上的智能合約程序的更新裝置。

圖4是本發(fā)明一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的示意性框圖。如圖4所示,該區(qū)塊鏈上的智能合約程序的更新裝置400,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該裝置400包括:建表單元410和功能設置單元420。該建表單元410被配置為建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表。該功能設置單元420被配置為接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。根據本發(fā)明實施例的區(qū)塊鏈上的智能合約程序的更新裝置400可對應于根據本發(fā)明實施例的區(qū)塊鏈上的智能合約程序的更新方法200中的執(zhí)行主體,并且區(qū)塊鏈上的智能合約程序的更新裝置400中的各個單元的上述和其它操作和/或功能分別為了實現圖2中的各個方法的相應流程,為了簡潔,在此不再贅述。該裝置通過在智能合約中建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,在發(fā)現智能合約缺陷或其他需要修改更新智能合約情況下根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改,從而實現針對代碼漏洞、業(yè)務升級等情境下的主智能合約程序能夠實現的功能進行修改及更新。

在一些實施例中,該裝置中的功能標識可以包括函數名和函數參數。在一些示例中,上述功能智能合約程序可以包括一個或一個以上實際函數。

根據一些實施例,該裝置還可以包括判斷單元,被配置為:根據函數名和函數參數確定功能調用請求所請求調用的功能智能合約程序包含的實際函數。在一些示例中,上述功能設置請求可以包括功能設置請求發(fā)送方身份標識,其中,該功能設置單元420還可以被配置為:將功能設置請求發(fā)送方身份標識與預設功能設置請求發(fā)送方身份標識進行匹配;如果匹配成功,則根據該功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。在一些示例中,該功能設置單元420還可以被配置為:設置功能設置請求發(fā)送方的賬戶地址,其中,預設功能設置請求發(fā)送方身份標識包括賬戶地址。在一些示例中,該預設功能設置請求發(fā)送方身份標識可以包括預設的所述功能設置請求發(fā)送方的數字簽名。在一些示例中,該功能設置單元420還可以被配置為:基于智能合約的監(jiān)管者地址或功能調用請求的發(fā)送方選舉出的監(jiān)管者地址獲得功能設置請求發(fā)送方的賬戶地址。在一些示例中,該功能設置單元420還可以被配置為:根據功能設置請求將映射表中的功能智能合約程序的地址更新為新增的功能智能合約程序的地址。

圖5是本發(fā)明另一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的示意性框圖。如圖5所示,該區(qū)塊鏈上的智能合約程序的更新裝置500,其中,該智能合約程序包括主智能合約程序和一個或一個以上功能智能合約程序,該裝置500包括:建表單元510、功能設置單元520、入口函數單元530和功能調用單元540。該建表單元510可以被配置為建立各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表。該功能設置單元520可以被配置為接收功能設置請求,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。該入口函數單元530可以被配置為接收功能調用請求,其中,功能調用請求包括功能標識;該功能調用單元540可以被配置為基于各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,將功能調用請求轉發(fā)至功能調用請求包括的功能標識對應的功能智能合約程序的地址。在一些示例中,上述裝置中的入口函數單元可以接收智能合約調用者網絡節(jié)點希望對智能合約進行調用的功能調用請求,基于各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表,將功能調用請求轉發(fā)至功能調用請求包括的功能標識對應的功能智能合約程序的地址,接收的功能調用請求的功能智能合約程序在執(zhí)行結束后,會返回一個結果給上述的智能合約調用者網絡節(jié)點,實現智能合約的調用。

圖6是本發(fā)明實施例的一種實施例的區(qū)塊鏈上的智能合約程序的更新裝置的計算設備實現的示意性框圖。如圖6所示結合上述的區(qū)塊鏈上的智能合約程序的更新方法和區(qū)塊鏈上的智能合約程序的更新裝置的至少一部分可以由計算設備600包括輸入設備601、輸入端口602、處理器603、存儲器604、輸出端口605、以及輸出設備606。其中,輸入端口602、處理器603、存儲器604、以及輸出端口605通過總線710相互連接,輸入設備601和輸出設備606分別通過輸入端口602和輸出端口605與總線610連接,進而與計算設備600的其他組件連接。需要說明的是,這里的輸出接口和輸入接口也可以用i/o接口表示。具體地,輸入設備601接收來自外部的輸入信息,并通過輸入端口602將輸入信息傳送到處理器603;處理器603基于存儲器604中存儲的計算機可執(zhí)行指令對輸入信息進行處理以生成輸出信息,將輸出信息臨時或者永久地存儲在存儲器604中,然后通過輸出端口605將輸出信息傳送到輸出設備606;輸出設備606將輸出信息輸出到計算設備600的外部。

上述存儲器604包括用于數據或指令的大容量存儲器。舉例來說而非限制,存儲器604可包括hdd、軟盤驅動器、閃存、光盤、磁光盤、磁帶或通用串行總線(usb)驅動器或者兩個或更多個以上這些的組合。在合適的情況下,存儲器604可包括可移除或不可移除(或固定)的介質。在合適的情況下,存儲器604可在計算設備600的內部或外部。在特定實施例中,存儲器604是非易失性固態(tài)存儲器。在特定實施例中,存儲器604包括只讀存儲器(rom)。在合適的情況下,該rom可以是掩模編程的rom、可編程rom(prom)、可擦除prom(eprom)、電可擦除prom(eeprom)、電可改寫rom(earom)或閃存或者兩個或更多個以上這些的組合。

總線610包括硬件、軟件或兩者,將計算設備600的部件彼此耦接在一起。舉例來說而非限制,總線610可包括加速圖形端口(agp)或其他圖形總線、增強工業(yè)標準架構(eisa)總線、前端總線(fsb)、超傳輸(ht)互連、工業(yè)標準架構(isa)總線、無限帶寬互連、低引腳數(lpc)總線、存儲器總線、微信道架構(mca)總線、外圍組件互連(pci)總線、pci-express(pci-x)總線、串行高級技術附件(sata)總線、視頻電子標準協(xié)會局部(vlb)總線或其他合適的總線或者兩個或更多個以上這些的組合。在合適的情況下,總線610可包括一個或多個總線610。盡管本發(fā)明實施例描述和示出了特定的總線,但本發(fā)明考慮任何合適的總線或互連。

當通過圖6所示的計算設備600實現結合圖4描述的區(qū)塊鏈上的智能合約程序的更新裝置時,輸入設備601接收功能設置請求,在特定實施例中,與輸出設備相連的i/o接口可以包括硬件、軟件或兩者,提供用于在計算設備600與一個或多個i/o設備之間的通信的一個或多個接口。在合適的情況下,計算設備600可包括一個或多個這些i/o設備。一個或多個這些i/o設備可允許人和計算機系統(tǒng)600之間的通信。舉例來說而非限制,i/o設備可包括鍵盤、小鍵盤、麥克風、監(jiān)視器、鼠標、打印機、掃描儀、揚聲器、靜態(tài)照相機、觸針、手寫板、觸摸屏、軌跡球、視頻攝像機、另一合適的i/o設備或者兩個或更多個以上這些的組合。i/o設備可包括一個或多個傳感器。本發(fā)明實施例考慮用于它們的任何合適的i/o設備和任何合適的i/o接口。在合適的情況下,i/o接口可包括一個或多個裝置或能夠允許處理器603驅動一個或多個這些i/o設備的軟件驅動器。在合適的情況下,i/o接口可包括一個或多個i/o接口。盡管本發(fā)明實施例描述和示出了特定的i/o接口,但本發(fā)明實施例考慮任何合適的i/o接口。該處理器603基于存儲器604中存儲的計算機可執(zhí)行指令,根據功能設置請求對各個功能智能合約程序的地址與標識主智能合約程序的各種功能的功能標識的映射表中的映射關系進行修改。隨后在需要時經由輸出端口605和輸出設備606將上述修改后的智能合約程序執(zhí)行后的結果輸出。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本發(fā)明實施例方案的目的。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平湖市| 东至县| 沅江市| 全椒县| 深泽县| 瑞金市| 宝清县| 衡阳县| 汽车| 静安区| 潞西市| 三河市| 花莲市| 巴南区| 阿鲁科尔沁旗| 灵宝市| 增城市| 广州市| 芒康县| 建昌县| 高陵县| 芷江| 茶陵县| 内丘县| 芜湖市| 连山| 金乡县| 怀来县| 年辖:市辖区| 栖霞市| 晋中市| 信阳市| 平泉县| 林甸县| 北辰区| 大厂| 朝阳区| 杭锦后旗| 洛浦县| 金堂县| 广东省|