本申請涉及計算機
技術領域:
,尤其涉及用戶遷移的方法和裝置。
背景技術:
:隨著科學技術的快速發展以及大數據時代的到來,功能更新加快。為了降低發布風險,常在服務的原服務端正常提供服務的同時,發布該服務的更新服務端,使得原服務端和更新服務端同時提供該服務。例如:在提供服務的原系統正常運行的同時,在另一終端上發布新系統,使得原系統和新系統同時提供該服務。再例如:在提供服務的原應用正常運行的同時,在同一終端上發布新應用,使得原應用和新應用同時提供該服務。針對此情況,如何在不影響用戶體驗的前提下,確定服務的執行端為用戶提供服務,完成用戶遷移,成為人們較為關注的問題。目前,用戶遷移方案為:將全部用戶從原服務端一次性遷移至更新服務端。如:將全部用戶的執行端從原服務端更換為更新服務端。上述方法中全部用戶會一次性遷移至更新服務端,若用戶遷移后更新服務端出現異常,則會影響全部用戶對該服務的使用,造成嚴重影響。技術實現要素:為了減輕更新服務端出現異常時產生的影響,本申請實施例提出了一種用戶遷移的方法和裝置。一方面,本申請實施例提供了一種用戶遷移的方法,所述方法包括:獲取用戶提交的請求消息,所述請求消息包括用戶標識id;根據所述用戶id與預設的遷移id集合之間的關系,確定向所述用戶提供服務的執行端,所述執行端為所述服務的原服務端,或者,所述執行端為所述服務的更新服務端;將所述請求消息發送至所述執行端,以使所述執行端響應所述請求消息,為所述用戶提供所述服務。可選地,所述根據所述用戶id與預設的遷移id集合之間的關系,確定向所述用戶提供服務的執行端,包括:若所述用戶id屬于所述遷移id集合,則確定所述執行端為所述服務的更新服務端。可選地,所述根據所述用戶id與預設的遷移id集合之間的關系,確定向所述用戶提供服務的執行端,包括:若所述用戶id不屬于所述遷移id集合,則確定所述執行端為所述服務的原服務端。可選地,所述根據所述用戶id與預設的遷移id集合之間的關系,確定向所述用戶提供服務的執行端,包括:若所述用戶id不屬于所述遷移id集合,則根據預先設置的遷移值與預先設置的遷移區間的關系確定所述執行端。可選地,所述遷移區間為[0,100];所述根據預先設置的遷移值與預先設置的遷移區間的關系確定所述執行端,包括:若所述遷移值為0,則確定所述執行端為所述服務的原服務端;若所述遷移值為100,則確定所述執行端為所述服務的更新服務端;若所述遷移值大于0,且所述遷移值小于100,則根據所述遷移值和所述用戶id確定所述執行端。可選地,所述用戶id的位數不少于3位;所述根據所述遷移值和所述用戶id確定所述執行端,包括:獲取所述用戶id的右數第二位和第三位,形成id數值,所述id數值的位數為2位,且所述id數值的右數第一位為所示用戶id的右數第二位,所述id數值的右數第二位為所述用戶id的右數第三位;若所述id數值位于(0,所述遷移值]內,則確定所述執行端為所述服務的更新服務端;若所述id數值位于(0,所述遷移值]外,則確定所述執行端為所述服務的原服務端。可選地,所述根據預先設置的遷移值與預先設置的遷移區間的關系確定所述執行端,包括:若所述遷移值位于所述遷移區間之外,則根據預設的遷移對應關系確定所述執行端。可選地,所述遷移對應關系為:用戶id和請求消息發送渠道之間的對應關系;所述根據預設的遷移對應關系確定所述執行端,包括:確定所述請求消息的獲取渠道;若所述用戶id和所述獲取渠道之間滿足所述遷移對應關系,則確定所述執行端為所述服務的更新服務端;若所述用戶id和所述獲取渠道之間不滿足所述遷移對應關系,則確定所述執行端為所述服務的原服務端。另一方面,本申請實施例提供了一種用戶遷移的裝置,所述裝置包括:獲取模塊,用于獲取用戶提交的請求消息,所述請求消息包括用戶標識id;確定模塊,用于根據所述用戶id與預設的遷移id集合之間的關系,確定向所述用戶提供服務的執行端,所述執行端為所述服務的原服務端,或者,所述執行端為所述服務的更新服務端;發送模塊,用于將所述獲取模塊獲取的請求消息發送至所述確定模塊確定 的執行端,以使所述執行端響應所述請求消息,為所述用戶提供所述服務。可選地,所述確定模塊,用于當所述用戶id屬于所述遷移id集合時,確定所述執行端為所述服務的更新服務端。可選地,所述確定模塊,用于當所述用戶id不屬于所述遷移id集合時,確定所述執行端為所述服務的原服務端。可選地,所述確定模塊,用于當所述用戶id不屬于所述遷移id集合時,根據預先設置的遷移值與預先設置的遷移區間的關系確定所述執行端。可選地,所述遷移區間為[0,100];所述確定模塊,用于當所述遷移值為0時,確定所述執行端為所述服務的原服務端;當所述遷移值為100時,確定所述執行端為所述服務的更新服務端;當所述遷移值大于0,且所述遷移值小于100時,根據所述遷移值和所述用戶id確定所述執行端。可選地,所述用戶id的位數不少于3位;所述確定模塊,用于獲取所述用戶id的右數第二位和第三位,形成id數值,所述id數值的位數為2位,且所述id數值的右數第一位為所示用戶id的右數第二位,所述id數值的右數第二位為所述用戶id的右數第三位;當所述id數值位于(0,所述遷移值]內時,確定所述執行端為所述服務的更新服務端;當所述id數值位于(0,所述遷移值]外時,確定所述執行端為所述服務的原服務端。可選地,所述確定模塊,用于當所述遷移值位于所述遷移區間之外時,根據預設的遷移對應關系確定所述執行端。可選地,所述遷移對應關系為:用戶id和請求消息發送渠道之間的對應關系;所述確定模塊,用于確定所述請求消息的獲取渠道;當所述用戶id和所述獲取渠道之間滿足所述遷移對應關系時,確定所述執行端為所述服務的更新服務端;當所述用戶id和所述獲取渠道之間不滿足所述遷移對應關系時,確 定所述執行端為所述服務的原服務端。有益效果如下:獲取用戶提交的請求消息,請求消息包括用戶標識id;根據用戶id與預設的遷移id集合之間的關系,確定向用戶提供服務的執行端,執行端為服務的原服務端,或者,執行端為服務的更新服務端;將請求消息發送至執行端,以使執行端響應請求消息,為用戶提供服務,使得可以根據實施情況靈活確定更新服務端服務用戶的數量,降低了用戶遷移后更新服務端出現異常所影響的用戶數量,縮小了影響范圍。附圖說明下面將參照附圖描述本申請的具體實施例,其中:圖1示出了本申請一實施例提供的一種用戶遷移的方法的流程示意圖;圖2示出了本申請另一實施例提供的另一種用戶遷移的方法的流程示意圖;圖3示出了本申請另一實施例提供的一種用戶遷移的裝置的結構示意圖。具體實施方式為了使本申請的技術方案及優點更加清楚明白,以下結合附圖對本申請的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本申請的一部分實施例,而不是所有實施例的窮舉。并且在不沖突的情況下,本說明中的實施例及實施例中的特征可以互相結合。隨著同一服務的原服務端和更新服務端同時提供該服務的情況增多,如何在不影響用戶體驗的前提下,確定服務的執行端為用戶提供服務,完成用戶遷移備受關注。為了減輕更新服務端出現異常時產生的影響,本申請實施例提出了一種用戶遷移的方法,該方法獲取用戶提交的請求消息后根據預設的遷移id集合確定向用戶提供服務的執行端,并將請求消息發送至執行端,以使執行端 響應請求消息,為用戶提供服務,使得可以根據實施情況靈活確定更新服務端服務用戶的數量,降低了用戶遷移后更新服務端出現異常所影響的用戶數量,縮小了影響范圍。結合上述實施環境,本實施例提供了一種用戶遷移的方法。參見圖1,本實施例提供的方法流程具體如下:101:獲取用戶提交的請求消息;其中,請求消息用于請求某服務端為所述用戶提供服務,請求消息包括用戶id(identity,標識)。除此之外,請求消息還可以包括該服務id、請求參數等。另外,用戶提交請求消息的渠道有多種,例如:通過個人電腦的應用a提交請求消息,通過手持智能終端的app(application,應用)提交請求消息。因此,本步驟也可以通過多種渠道獲取用戶提交的請求消息,例如:通過應用a渠道獲取用戶通過應用a提交的請求消息,通過app渠道獲取用戶通過app提交的請求消息。102:根據用戶id與預設的遷移id集合之間的關系,確定向用戶提供服務的執行端;其中,執行端為服務的原服務端,或者,執行端為服務的更新服務端。本步驟的實現方式可以有多種,例如:若用戶id屬于遷移id集合,則確定執行端為服務的更新服務端;若用戶id不屬于遷移id集合,則確定執行端為服務的原服務端。例如,遷移id集合包括3個id,分別為:id1、id5、id6。如果步驟101中獲取到的用戶id為id1,則用戶id屬于遷移id集合,確定執行端為服務的更新服務端。如果步驟101中獲取到的用戶id為id2,用戶id不屬于遷移id集合,確定執行端為服務的原服務端。通過針對具體實施情況,靈活的設置遷移id集合,即可控制更新服務端 服務用戶的數量,降低用戶遷移后更新服務端出現異常所影響的用戶數量,縮小影響范圍。除了上述實現方式之外,對于用戶id不屬于遷移id集合的情況,還可以更加靈活的控制更新服務端服務用戶的數量,例如:若用戶id屬于遷移id集合,則確定執行端為服務的更新服務端;若用戶id不屬于遷移id集合,則根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端。對于根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端的步驟,根據遷移值和遷移區間之間的關系的不同,具體實施方式也不同。具體的,遷移值和遷移區間之間的關系有如下兩種:第一種關系:遷移值位于遷移區間內;對于此種關系,具體的又可以分為3種情況,下面以遷移區間為[0,100]為例進行詳細說明。第一種情況:遷移值為0;對于第一種情況,確定執行端為服務的原服務端。第二種情況:遷移值為100;對于第二種情況,確定執行端為服務的更新服務端。第二種情況:遷移值大于0,且遷移值小于100。對于第三種情況,則可以根據遷移值和用戶id確定執行端。若用戶id的位數不少于3位,則根據遷移值和用戶id確定執行端的實現方式可以為:獲取用戶id的右數第二位和第三位,形成id數值,id數值的位數為2位,且id數值的右數第一位為所示用戶id的右數第二位,id數值的右數第二位為用戶id的右數第三位;若id數值位于(0,遷移值]內,則確定執行端為服務的更新服務端;若id數值位于(0,遷移值]外,則確定執行端為服務的原服務端。例如:若遷移值為30,用戶id2為2088010,則獲取2088210的右數第二位1和第三位2,形成id數值21;21位于(0,30]內,則確定執行端為服務的 更新服務端。再例如:若遷移值為20,用戶id2為2088010,則獲取2088210的右數第二位1和第三位2,形成id數值21;21位于(0,20]外,則確定執行端為服務的原服務端。第二種關系:遷移值位于遷移區間外。對于此種關系,可以根據預設的遷移對應關系確定執行端。其中,預設的遷移對應關系可以為白名單,黑名單等。根據預設的遷移對應關系確定執行端的事項方式包括但不限于:確定請求消息的獲取渠道;若用戶id和獲取渠道之間滿足遷移對應關系,則確定執行端為服務的更新服務端;若用戶id和獲取渠道之間不滿足遷移對應關系,則確定執行端為服務的原服務端。下面以遷移值為-100,遷移區間為[0,100],預設的遷移對應關系可以為白名單,且該白名單如表1所示的用戶id和請求消息發送渠道之間的對應關系為例進行具體說明。表1用戶id請求消息發送渠道id2渠道1id3渠道3id4渠道2如果步驟101中獲取的請求消息中用戶id為id2,且該請求消息的獲取渠道為渠道1,則根據表1所示的遷移對應關系,則確定執行端為服務的更新服務端。如果步驟101中獲取的請求消息中用戶id為id2,且該請求消息的獲取渠道為渠道2,則根據表1所示的遷移對應關系,則確定執行端為服務的原服務端。通過針對具體實施情況,靈活的設置遷移值和遷移區間,可以針對用戶id不屬于遷移id集合的情況進一步控制更新服務端服務用戶的數量,降低用戶遷移后更新服務端出現異常所影響的用戶數量,縮小影響范圍。另外,通過設置用戶id和請求消息發送渠道之間的對應關系的設置,還可以進一步縮小控制粒度,不僅對用戶id進行限制,還對請求消息發送渠道進行限制。只有具有特定用戶id的用戶通過特定渠道發送的請求消息,才確定執行端為服務的更新服務端。103:將請求消息發送至執行端,以使執行端響應請求消息,為用戶提供服務。由于同一服務的執行端可以為更新系統,也可以為原系統,而無論何種執行端,在響應請求消息是均會為此次相應分配一個響應標識,為了區分服務是更新系統提供的還是原系統提供的,可以為不同的執行端設置不同的響應標識的編制規則。例如:更新系統按編制規則1分配一個30位的響應標識,原系統按編制規則2分配一個24位的響應標識。執行至此,完成用戶的遷移。有益效果:獲取用戶提交的請求消息,請求消息包括用戶標識id;根據用戶id與預設的遷移id集合之間的關系,確定向用戶提供服務的執行端,執行端為服務的原服務端,或者,服務的更新服務端;將請求消息發送至執行端,以使執行端響應請求消息,為用戶提供服務,使得可以根據實施情況靈活確定更新服務端服務用戶的數量,降低了用戶遷移后更新服務端出現異常所影響的用戶數量,縮小了影響范圍。為了進一步解釋本發明提供的用戶遷移的方法的具體實施方式,針對下面應用場景進行進一步說明。應用場景:用戶a請求變現服務,發送變現請求消息,用戶a的用戶id為20081111352,發送渠道有三種,分別為:pc(personalcomputer,個人電腦)渠道、錢包渠道、聚寶渠道。提供變現服務的服務端有2個,分別為:服務端1(變現服務的原服務端),服務端2(變現服務的更新服務端),遷移區間為[0,100]。參見圖2,在上述應用場景中,本實施例提供的方法流程具體如下:201:獲取用戶a提交的變現請求消息;其中,變現請求消息用于請求變現服務端為用戶a提供變現服務,變現請求消息包括:用戶id:20081111352。202:根據用戶id與預設的遷移id集合之間的關系,確定向用戶a提供變現服務的執行端;具體的,可以通過如下兩種方式中的一種實現:方式一:若用戶id屬于遷移id集合,則確定執行端為服務的更新服務端;若用戶id不屬于遷移id集合,則確定執行端為服務的原服務端;具體的,以遷移id集合為{20081111352,20081111342,20081111350}為例,20081111352不屬于遷移id集合,則確定執行端為服務端2。方式二:若用戶id屬于遷移id集合,則確定執行端為服務的更新服務端;若用戶id不屬于遷移id集合,則根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端。具體的,以遷移id集合為{20081111351,20081111342,20081111350}為例,20081111352屬于遷移id集合,則根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端。在根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端時,根據遷移值的不同,確定的執行端也不同。若遷移值為0,則確定執行端為服務端1。若遷移值為100,則確定執行端為服務端2。若遷移值為30,則獲取20081111352的右數第二位5和第三位3,形成id數值35,35位于(0,30]外,則確定執行端為服務端1。若遷移值為40,35位于(0,40]內,則確定執行端為服務端2。若遷移值為-100,位于[0,100]外,則根據預設的遷移對應關系確定執行端。若遷移對應關系為表2所示白名單,20081111352未在表2所示的白名單中,因此,確定執行端為服務端1。表2用戶id請求消息發送渠道20081111351pc若遷移對應關系為表3所示白名單,20081111352在表3所示的白名單中。若用戶a通過pc渠道發送變現請求消息,則20081111352與pc渠道的對應關系未在表3中,確定執行端為服務端1。若用戶a通過錢包渠道發送變現請求消息,則20081111352與錢包渠道的對應關系也未在表3中,確定執行端為服務端1。若用戶a通過聚寶渠道發送變現請求消息,則20081111352與聚寶渠道的對應關系也在表3中,確定執行端為服務端2。表3用戶id請求消息發送渠道20081111351pc20081111352聚寶203:將變現請求消息發送至執行端,以使執行端響應變現請求消息,為用戶a提供變現服務。有益效果:獲取用戶提交的請求消息,請求消息包括用戶標識id;根據用戶id與預 設的遷移id集合之間的關系,確定向用戶提供服務的執行端,執行端為服務的原服務端,或者,服務的更新服務端;將請求消息發送至執行端,以使執行端響應請求消息,為用戶提供服務,使得可以根據實施情況靈活確定更新服務端服務用戶的數量,降低了用戶遷移后更新服務端出現異常所影響的用戶數量,縮小了影響范圍。基于同一發明構思,本實施例提供了一種用戶遷移的裝置,由于該裝置解決問題的原理與圖1所示的一種用戶遷移的方法相似,因此該裝置的實施可以參見圖1所示的方法的實施例,重復之處不再贅述。參見圖3,該裝置包括:獲取模塊301,用于獲取用戶提交的請求消息,請求消息包括用戶標識id;確定模塊302,用于根據用戶id與預設的遷移id集合之間的關系,確定向用戶提供服務的執行端,執行端為服務的原服務端,或者,執行端為服務的更新服務端;發送模塊303,用于將獲取模塊301獲取的請求消息發送至確定模塊302確定的執行端,以使執行端響應請求消息,為用戶提供服務。可選地,確定模塊302,用于當用戶id屬于遷移id集合時,確定執行端為服務的更新服務端。可選地,確定模塊302,用于當用戶id不屬于遷移id集合時,確定執行端為服務的原服務端。可選地,確定模塊302,用于當用戶id不屬于遷移id集合時,根據預先設置的遷移值與預先設置的遷移區間的關系確定執行端。可選地,遷移區間為[0,100];確定模塊302,用于當遷移值為0時,確定執行端為服務的原服務端;當遷移值為100時,確定執行端為服務的更新服務端;當遷移值大于0,且遷移值小于100時,根據遷移值和用戶id確定執行端。可選地,用戶id的位數不少于3位;確定模塊302,用于獲取用戶id的右數第二位和第三位,形成id數值,id數值的位數為2位,且id數值的右數第一位為所示用戶id的右數第二位,id數值的右數第二位為用戶id的右數第三位;當id數值位于(0,遷移值]內時,確定執行端為服務的更新服務端;當id數值位于(0,遷移值]外時,確定執行端為服務的原服務端。可選地,確定模塊302,用于當遷移值位于遷移區間之外時,根據預設的遷移對應關系確定執行端。可選地,遷移對應關系為:用戶id和請求消息發送渠道之間的對應關系;確定模塊302,用于確定請求消息的獲取渠道;當用戶id和獲取渠道之間滿足遷移對應關系時,確定執行端為服務的更新服務端;當用戶id和獲取渠道之間不滿足遷移對應關系時,確定執行端為服務的原服務端。有益效果如下:獲取用戶提交的請求消息,請求消息包括用戶標識id;根據用戶id與預設的遷移id集合之間的關系,確定向用戶提供服務的執行端,執行端為服務的原服務端,或者,服務的更新服務端;將請求消息發送至執行端,以使執行端響應請求消息,為用戶提供服務,使得可以根據實施情況靈活確定更新服務端服務用戶的數量,降低了用戶遷移后更新服務端出現異常所影響的用戶數量,縮小了影響范圍。為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當然,在實施本發明時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實現。本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包 含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。當前第1頁12