Page state synchronization method and apparatus, storage medium, and electronic device
Patent Information
- Application Number
- CN202211211690.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-09-30
AI Technical Summary
[0003]但是,相关技术中服务端只能同时和一个客户端进行建连,当坐席开启多个页面,相当于有多个客户端,只有最后一个开启的页面能保证坐席状态和功能是正常的,其他页面会被服务端断开,从而变成离线的状态无法操作
[0017]通过上述技术方案,可以在打开呼叫中心系统的第一页面时,加载页面同步服务,并通过页面同步服务向服务端请求坐席状态。然后,可以将服务端返回的坐席状态存储在页面同步服务中。之后,坐席打开呼叫中心系统的第二页面时,可以从页面同步服务中获取存储的坐席状态进行显示,从而可以实现多页面的坐席状态同步,相较于现有技术中只在最后一个打开页面正常显示坐席状态的方式,可以使得坐席更加方便地切换不同页面进行业务处理,提高业务处理效率。
Smart Images

Figure CN116127215B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more specifically, to a page state synchronization method, apparatus, storage medium, and electronic device. Background Technology
[0002] Call centers can utilize the open-source WebRTC (Web Real-Time Communications) protocol and server-side voice stream transmission, while also connecting with carriers. Through interactive web pages, agents can use capabilities such as making calls, answering calls, hanging up, holding calls, and transferring calls.
[0003] However, in related technologies, the server can only establish a connection with one client at a time. When an agent opens multiple pages, it is equivalent to having multiple clients. Only the last opened page can guarantee that the agent's status and functions are normal. Other pages will be disconnected by the server, thus becoming offline and inoperable. Summary of the Invention
[0004] This summary section is provided to briefly introduce the concepts, which will be described in detail in the detailed description section below. This summary section is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] Firstly, this disclosure provides a page state synchronization method, the method comprising:
[0006] In response to the opening operation of the first page of the call center system, the page synchronization service is loaded, and the agent status is requested from the server through the page synchronization service;
[0007] The agent status returned by the server is stored in the page synchronization service, and the agent status is displayed on the first page;
[0008] In response to the opening operation of the second page of the call center system, the second page is controlled to connect with the page synchronization service, the agent status stored in the page synchronization service is obtained, and the obtained agent status is displayed on the second page, wherein the second page is a page in the call center system that is different from the first page.
[0009] Secondly, this disclosure provides a page state synchronization device, the device comprising:
[0010] The first loading module is used to load the page synchronization service in response to the opening operation of the first page of the call center system, and to request the agent status from the server through the page synchronization service.
[0011] The storage module is used to store the agent status returned by the server to the page synchronization service and display the agent status on the first page;
[0012] A synchronization module is used to respond to an operation of opening a second page of the call center system, control the second page to connect with the page synchronization service, obtain the stored agent status from the page synchronization service, and display the obtained agent status on the second page, wherein the second page is a page in the call center system that is different from the first page.
[0013] Thirdly, this disclosure provides a non-transitory computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method described in the first aspect.
[0014] Fourthly, this disclosure provides an electronic device, comprising:
[0015] A storage device on which computer programs are stored;
[0016] A processing device for executing the computer program in the storage device to implement the steps of the method in the first aspect.
[0017] The above technical solution allows for the loading of a page synchronization service when the first page of the call center system is opened, enabling the request of agent status from the server. The agent status returned by the server can then be stored in the page synchronization service. Subsequently, when an agent opens the second page of the call center system, they can retrieve the stored agent status from the page synchronization service for display. This achieves agent status synchronization across multiple pages. Compared to existing technologies that only display agent status on the last opened page, this allows agents to more easily switch between different pages for business processing, improving efficiency.
[0018] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0019] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale. In the drawings:
[0020] Figure 1 This is a flowchart illustrating a page state synchronization method according to an exemplary embodiment of the present disclosure;
[0021] Figure 2This is a schematic diagram illustrating a page state synchronization method according to an exemplary embodiment of the present disclosure;
[0022] Figure 3 This is a schematic diagram illustrating a page state synchronization method according to another exemplary embodiment of the present disclosure;
[0023] Figure 4 This is a schematic diagram of a page in a page state synchronization method according to an exemplary embodiment of the present disclosure;
[0024] Figure 5 This is a schematic diagram illustrating a page state synchronization method according to an exemplary embodiment of the present disclosure;
[0025] Figure 6 This is a schematic diagram of a process in a page state synchronization method according to another exemplary embodiment of the present disclosure;
[0026] Figure 7 This is a schematic diagram of a page in a page state synchronization method according to another exemplary embodiment of the present disclosure;
[0027] Figure 8 This is a schematic diagram illustrating a process in a page state synchronization method according to another exemplary embodiment of the present disclosure;
[0028] Figure 9 This is a schematic diagram illustrating a process in a page state synchronization method according to another exemplary embodiment of the present disclosure;
[0029] Figure 10 This is a block diagram illustrating a page state synchronization device according to an exemplary embodiment of the present disclosure;
[0030] Figure 11 This is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0031] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0032] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0033] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0034] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0035] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0036] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0037] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0038] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0039] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0040] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0041] Meanwhile, it is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0042] As mentioned in the background technology, in related technologies, the server can only establish a connection with one client at a time. When an agent opens multiple pages, it is equivalent to having multiple clients. Only the last opened page can guarantee that the agent's status and functions are normal. Other pages will be disconnected by the server, thus becoming offline and inoperable.
[0043] In view of this, this disclosure provides a page state synchronization method, apparatus, storage medium, and electronic device to ensure that agents can normally operate functions such as calling, answering, hanging up, holding, and transferring calls on each page, while other pages automatically synchronize the corresponding states of the agents. Furthermore, when opening a new page, the states of other pages can be directly read without obtaining them through interface requests, thereby improving the efficiency of agent usage and enabling agents to perform multi-page operations without affecting the call.
[0044] Figure 1 This is a flowchart illustrating a page state synchronization method according to an exemplary embodiment of this disclosure. (Refer to...) Figure 1 The page state synchronization method includes:
[0045] Step 101: In response to the opening operation of the first page of the call center system, load the page synchronization service and request the agent status from the server through the page synchronization service.
[0046] Step 102: Store the agent status returned by the server to the page synchronization service and display the agent status on the first page.
[0047] Step 103: In response to the opening operation of the second page of the call center system, control the connection between the second page and the page synchronization service, retrieve the stored agent status from the page synchronization service, and display the retrieved agent status on the second page. The second page is a different page from the first page in the call center system.
[0048] It should be understood that the page state synchronization method provided in this disclosure can be installed in the form of an SDK (Software Development Kit) and used in a browser with a Chrome kernel. That is to say, the call center system can be a browser running on a Chrome kernel. If the browser has installed the SDK that integrates the page state synchronization method in this disclosure, the agent can open multiple pages at the same time to operate. Specifically, the agent can normally operate the functions of calling, answering, hanging up, holding, and transferring calls on each page, and the corresponding states of the agents on other pages will be automatically synchronized.
[0049] For example, in this embodiment of the disclosure, SharedWorker can be introduced as a page synchronization service, placing the entire process of establishing a connection with the server within SharedWorker. SharedWorker is a special type of WebWorker that supports communication across multiple browser contexts, such as multiple windows or multiple iframes. Therefore, multiple pages can communicate with SharedWorker to obtain the corresponding agent status, thereby achieving page status synchronization. Alternatively, LocalStorage can be used as a page synchronization service, storing agent status in LocalStorage, allowing for synchronization of agent status from LocalStorage. This embodiment of the disclosure does not limit the specific form of the page synchronization service.
[0050] Taking SharedWorker as an example of page synchronization service, refer to Figure 2When an agent first enters the call center system and opens page A, the agent's system first loads the SDK with integrated page state synchronization methods and initializes it. Then, it loads SharedWorker. After SharedWorker initializes, it establishes a WebSocket connection with the server and requests the agent's current state. It's important to understand that without any interaction, the agent's state is offline (not logged in). Therefore, the server returns the offline state to SharedWorker and stores it there. Then, it returns the offline state to the agent via SharedWorker and displays it on page A. When the agent opens page B, the system first loads the SDK with integrated page state synchronization methods and initializes it. Then, it loads SharedWorker. Since SharedWorker already stores the offline agent state, it retrieves this state and returns it to page B for display. This allows for convenient state synchronization across multiple pages.
[0051] Continuing with the above examples, refer to... Figure 3 After displaying an unlogged-in status on page A, if an agent wants to log in, they can send an HTTP request to the server via SharedWorker. The server will then return the login status via a previously established WebSocket connection. SharedWorker receives and stores this status before passing it to page A for display. Later, when an agent opens page B, the SDK with integrated page state synchronization methods is first loaded and initialized. Then, SharedWorker is loaded. Since the logged-in agent status is already stored in SharedWorker, it can be retrieved and returned to page B for display.
[0052] Reference Figure 4 Through the solution provided in this disclosure, agents can see the same agent status on every open page of the call center system. Figure 4 (This is an illustration of the current agent's status not being ready for operation), to achieve status synchronization across multiple pages.
[0053] Furthermore, the solution provided in this disclosure allows for proactive state synchronization across multiple pages when a change in agent status occurs on any page, by actively pushing the change to other pages via a page synchronization service. Specifically, when a page experiences a status change such as login or offline, which can be displayed on every page, the page synchronization service can proactively push this status change to every opened page. However, some status changes may only apply to a few pages. Therefore, to reduce unnecessary resource consumption and improve page state synchronization efficiency, it is possible to first determine which pages are using the latest changed status and then push the latest status to the corresponding pages.
[0054] In one possible approach, when the agent status changes on any opened page of the call center system, the corresponding status change information can be determined and synchronized to the page synchronization service. This status change information includes the changed target agent status. Then, among all opened pages in the call center system, the target page to be changed is identified. This target page is the page with identification information corresponding to the target agent status. Finally, the page synchronization service updates the agent status of the target page to reflect the target agent status.
[0055] In other words, refer to Figure 5 The agent has opened pages A, B, and C. Each page displays corresponding content based on its UI view, and the current agent status on all three pages is logged in. When the agent status on page A changes, for example, if the agent performs an upload operation on page A, the agent status on page A changes from logged in to logged-in upload. In this case, first, the status change information is confirmed as a change from logged in to logged-in upload. Then, the status change information of page A is synchronized to the page synchronization service (…). Figure 5 (Using SharedWorker as an example). The page synchronization service can then identify the target page to be changed from all opened pages in the call center system, thus achieving a synchronized status change for the target page. For example, if page B has an upload function while page C does not, then page B will be identified as the target page to be changed. Finally, the page synchronization service updates the agent status on page B to show a logged-in upload status, meaning that the content uploaded by the upload operation can be simultaneously displayed on both page A and page B.
[0056] It should be understood that different pages in a call center system may be used to implement different functions. Corresponding function markers can be added to the page source code. For example, a page with upload functionality can have upload tracking points pre-installed in the page source code. Therefore, after determining the status change information, the latest status can be pushed to the corresponding pages based on which pages are using the changed status. Then, the corresponding pages can render the UI view with the latest status, achieving synchronized status changes across multiple pages.
[0057] On the other hand, when an agent opens multiple pages in the call center system, if the source code corresponding to the page synchronization service is updated, it's possible that after an agent refreshes a page, the corresponding page synchronization service for that page has been updated, but other pages that haven't been refreshed are still using the outdated page synchronization service. That is, two versions of the page synchronization service will appear, thus affecting the state synchronization of multiple pages. To solve this problem, embodiments of this disclosure also provide an automatic upgrade scheme for the page synchronization service.
[0058] In one possible approach, in response to a refresh of the first page, a new page synchronization service is loaded. Then, the version information of the new page synchronization service is determined and stored locally. Next, in response to a refresh of the second page, the version information of the page synchronization service connected to the second page is determined, and the locally stored version information is retrieved. If the version information of the page synchronization service connected to the second page differs from the locally stored version information, the page synchronization service connected to the second page is disconnected, and the second page is connected to the new page synchronization service.
[0059] For example, refer to Figure 6 In response to a refresh operation on page A, a new page synchronization service is loaded via WorkerLoader. Figure 6 (Using New SharedWorker as an example), the version information of this new page synchronization service is stored in LocalStorage, i.e., local storage. Then, when page B loads, it determines the page synchronization service that page B is connected to ( Figure 6 (Using SharedWorker as an example) The version information is retrieved and compared with the version information of the new page synchronization service in LocalStorage. If they are inconsistent, the page synchronization service connected to page B is disconnected, and a new page synchronization service is established. This ensures that after a page refresh, each page has the same page synchronization service, avoiding the impact of different page synchronization service versions on page state synchronization.
[0060] Furthermore, in a possible manner, if the pages opened by the call center system include other pages besides the first and second pages, then while disconnecting the page synchronization service connected to the second page, the page synchronization service connected to the other pages can be notified to disconnect, and the other pages can be notified to connect to the new page synchronization service.
[0061] For example, following the example above, refer to Figure 6While page B disconnects from the page synchronization service, it can notify page C to close the old shared worker and connect to the new shared worker via BroadcastChannel or PostMessage. This allows the page synchronization service to be updated and upgraded without page C being refreshed, ensuring that each opened page has the same page synchronization service and avoiding the impact of different page synchronization service versions on page state synchronization.
[0062] It should be understood that the agent status in this embodiment includes agent online status and agent call status. Agent online status includes states that do not require user interaction, such as offline or logged in. Agent call status includes states related to the user's call, such as hung up, on hold, or transferred. The synchronization process of agent online status across multiple pages has been described above; the synchronization process of agent call status across multiple pages is described below.
[0063] In one possible approach, the first and second pages display functional controls representing the agent call function. In response to the selection of a target functional control on the first page, the agent call state on the first page is changed by calling the corresponding method of the target functional control through the communication instance and page synchronization service on the first page. Similarly, the agent call state on the second page is changed by calling the corresponding method of the target functional control through the proxy object on the second page. The communication instance is created in response to opening the first page and is used for voice communication with the server; the proxy object is created in response to opening the second page.
[0064] The communication instance can be a WebRTC instance, and the proxy object can be a WebRTC proxy object created in response to the opening of a second page.
[0065] It should be understood that in related technologies, WebRTC can only run on one terminal (i.e., one page). In other words, in the case of multiple pages, only one page can actually run WebRTC. The execution of the page call function needs to be implemented by calling the corresponding method through WebRTC. Therefore, in the case of multiple pages being opened, the agent can only perform operations such as hanging up, holding, and transferring calls on the last page that is opened.
[0066] In this embodiment of the disclosure, to achieve synchronization of agent call status across multiple pages, i.e., to achieve synchronized control of agent call functionality across multiple pages, a WebRTC proxy object can be created when each page is opened, and a WebRTC instance can be created on any page. Then, on pages where a WebRTC instance has been created, the corresponding method is called via WebRTC to execute the call operation; on pages where no WebRTC instance has been created, the corresponding method is called via the WebRTC proxy object to execute the call operation, thereby achieving synchronized control of agent call functionality across multiple pages.
[0067] For example, refer to Figure 7 According to the above scheme, after an agent initiates a call with a user on page A, they can simultaneously see the call bar, which is only displayed during a call, on pages A, B, and C. Furthermore, they can operate the functions on the call bar of any page. For example, when the agent clicks "Hang Up" on page B, the call status on pages A and C will also simultaneously change to "Hang Up," and the call bars on pages A, B, and C will disappear simultaneously. Therefore, the scheme provided by this embodiment not only enables the synchronous display of agent call status across multiple pages but also allows for the synchronous control of agent call functions across multiple pages, improving agent utilization efficiency.
[0068] In one possible approach, to ensure that only one page creates a WebRTC communication instance, a communication instance corresponding to the first page can be created in response to the opening operation of the first page, and communication identification information used to identify the created communication instance can be generated and stored in the page synchronization service. Then, in response to the opening operation of the second page, it is determined whether the communication identification information used to identify the created communication instance can be obtained from the page synchronization service. If the communication identification information can be obtained from the page synchronization service, the second page is controlled not to create a communication instance.
[0069] In other words, after a communication instance is created on a page, its existence can be marked in the page synchronization service. When other pages open, they can first retrieve the corresponding communication identifier information from the page synchronization service. If the communication identifier information is found, it means a communication instance has already been created, and the other page will not create another one. If the other page does not retrieve the communication identifier information, it means no instance has been created or the existing communication instance has been closed. Therefore, the other page can create a communication instance and mark it as created in the page synchronization service. Subsequently, when another page opens, the above process can be repeated: first, the corresponding communication identifier information is retrieved from the page synchronization service, and then the creation of a communication instance is determined based on the result. Thus, in a multi-page scenario, only one page can run a communication instance, thereby controlling one page to conduct voice communication with the server and ensuring the normal operation of agent calls.
[0070] Furthermore, to ensure that there is only one communication instance and that the communication instance is always available, this embodiment of the present disclosure can, after creating the communication instance corresponding to the first page, in response to the closing operation of the first page, delete the communication instance corresponding to the first page and the communication identification information in the page synchronization service, and determine a backup page other than the first page among all opened pages in the call center system, and notify the backup page to create a communication instance through the page synchronization service. Then, in response to the communication instance creation notification for the backup page from the page synchronization service, control the backup page to create the corresponding communication instance, generate new communication identification information, and store the new communication identification information in the page synchronization service.
[0071] It should be understood that when the page containing the communication instance is closed, the created communication instance is also destroyed synchronously. A backup page can be used to recreate the communication instance, thereby ensuring that there is only one communication instance and that the communication instance is always available.
[0072] In one possible way, determining the backup page from all opened pages in the call center system, excluding the first page, could be: randomly selecting a page other than the first page from all opened pages in the call center system as the backup page; or, determining the last activated page in the call center system and using that last activated page as the backup page.
[0073] In this context, the last activated page refers to the last page that the agent viewed or interacted with. For example, if pages A, B, and C are currently open, and the agent clicks on pages A, C, and B in sequence, then page B is the last page the agent clicked. In this case, page B is the last activated page, and therefore, after the page where the communication instance was created is closed, page B can be selected as a backup page to recreate the communication instance. Alternatively, in other possible methods, a page that has not been used to create a communication instance can be randomly selected as a backup page to recreate the communication instance; this embodiment does not limit this approach.
[0074] It should be understood that random selection requires computational calculations using relevant algorithms, consuming significant computational resources. In contrast, selecting the last activated page as the backup page is simpler in execution logic and consumes fewer computational resources than random selection, thus improving synchronization efficiency. Therefore, selecting the last activated page as the backup page is the preferred method.
[0075] For example, refer to Figure 8When page A is opened, a WebRTC instance and a WebRTC proxy object are created, and the communication identification information of the created WebRTC instance is stored in the page synchronization service. When pages B and C are opened, WebRTC proxy objects are also created. In this case, page A calls the corresponding method from the event hub of the page synchronization service through the WebRTC instance to execute the corresponding call function, while pages B and C call the corresponding method from the event hub of the page synchronization service through the WebRTC proxy object to execute the corresponding call function. (See reference...) Figure 9 When page A is closed, its corresponding WebRTC instance is destroyed. Figure 9 (Illustrated with dashed lines). Then, the page synchronization service randomly selects page C from pages B and C as the backup page. Next, the page synchronization service notifies page C that a WebRTC instance has been created, and stores new communication identification information to represent the created WebRTC instance in the page synchronization service. Afterwards, page C can use the newly created WebRTC instance to call the corresponding methods to execute the corresponding communication functions.
[0076] The above solution ensures that agents can perform functions such as calling, answering, hanging up, holding, and transferring calls normally on each page, and the corresponding status of agents will be automatically synchronized with other pages. Furthermore, when opening a new page, the status of other pages can be directly read without requiring API requests, thereby improving agent efficiency and enabling agents to perform multi-page operations without affecting call quality.
[0077] Based on the same concept, embodiments of this disclosure also provide a page state synchronization device, which can be part or all of an electronic device through software, hardware, or a combination of both, wherein the electronic device can be an electronic device used at the agent's side. (See also...) Figure 10 The page status synchronization device 1000 includes:
[0078] The first loading module 1001 is used to load the page synchronization service in response to the opening operation of the first page of the call center system, and to request the agent status from the server through the page synchronization service.
[0079] Storage module 1002 is used to store the agent status returned by the server to the page synchronization service and display the agent status on the first page;
[0080] The synchronization module 1003 is used to respond to the opening operation of the second page of the call center system, control the second page to connect with the page synchronization service, obtain the stored agent status from the page synchronization service, and display the obtained agent status on the second page, wherein the second page is a page in the call center system that is different from the first page.
[0081] Optionally, the device 1000 further includes:
[0082] The first determining module is used to determine the corresponding status change information when the agent status of any opened page of the call center system changes, and to synchronize the status change information to the page synchronization service, wherein the status change information includes the changed target agent status.
[0083] The second determining module is used to determine the target page to be changed from all the opened pages in the call center system. The target page is a page with identification information corresponding to the target agent status.
[0084] The update module is used to update the agent status of the target page to the target agent status through the page synchronization service.
[0085] Optionally, the device 1000 further includes:
[0086] The second loading module is used to load a new page synchronization service in response to a refresh operation on the first page.
[0087] The third determining module is used to determine the version information of the new page synchronization service and store the version information locally.
[0088] The fourth determining module is used to determine the version information of the page synchronization service connected to the second page in response to the refresh operation of the second page, and to obtain the version information stored locally;
[0089] The first reconnection module is used to disconnect the page synchronization service to which the second page is connected when the version information of the page synchronization service to which the second page is connected is different from the version information stored locally, and then connect the second page to the new page synchronization service.
[0090] Optionally, the device 1000 further includes:
[0091] The second reconnection module is used to, when the page opened in the call center system includes other pages besides the first page and the second page, simultaneously disconnect the page synchronization service connected to the second page, notify the other pages to disconnect the page synchronization service, and notify the other pages to connect to the new page synchronization service.
[0092] Optionally, the first page and the second page display function controls for characterizing agent call functions, and the device 1000 further includes:
[0093] The first calling module is used to respond to the selection operation of the target function control in the first page, call the method corresponding to the target function control through the communication instance corresponding to the first page and the page synchronization service to change the agent call status in the first page, and call the method corresponding to the target function control through the proxy object corresponding to the second page to change the agent call status in the second page.
[0094] The communication instance is created in response to the opening operation of the first page and is used for voice communication with the server. The proxy object is created in response to the opening operation of the second page.
[0095] Optionally, the device 1000 further includes:
[0096] The first creation module is used to respond to the opening operation of the first page, create a communication instance corresponding to the first page, generate communication identification information to identify the created communication instance, and store the communication identification information in the page synchronization service.
[0097] The fifth determining module is used to determine, in response to the opening operation of the second page, whether communication identification information for characterizing a created communication instance can be obtained from the page synchronization service. When the communication identification information is obtained from the page synchronization service, the second page is controlled not to create a communication instance.
[0098] Optionally, the device 1000 further includes:
[0099] The sixth determining module is used to, after creating the communication instance corresponding to the first page, in response to the closing operation of the first page, delete the communication instance corresponding to the first page and the communication identification information in the page synchronization service, and determine a backup page other than the first page among all opened pages in the call center system, and notify the backup page to create a communication instance through the page synchronization service;
[0100] The second creation module is used to respond to the notification from the page synchronization service regarding the creation of a communication instance for the backup page, control the backup page to create a corresponding communication instance, generate new communication identification information, and store the new communication identification information in the page synchronization service.
[0101] Optionally, the sixth determining module is used to:
[0102] One page other than the first page is randomly selected from all the opened pages in the call center system as a backup page; or, the last activated page in the call center system is selected and used as the backup page.
[0103] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0104] Based on the same concept, this disclosure also provides a non-transitory computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of any of the above-described page state synchronization methods.
[0105] Based on the same concept, this disclosure also provides an electronic device, including:
[0106] A storage device on which computer programs are stored;
[0107] A processing device is configured to execute the computer program in the storage device to implement the steps of any of the above-described page state synchronization methods.
[0108] The following is for reference. Figure 11 The diagram illustrates a structural schematic of an electronic device 1100 suitable for implementing embodiments of the present disclosure. Terminal devices in embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 11 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0109] like Figure 11As shown, electronic device 1100 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 1101, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1102 or a program loaded from storage device 1108 into random access memory (RAM) 1103. The RAM 1103 also stores various programs and data required for the operation of electronic device 1100. The processing device 1101, ROM 1102, and RAM 1103 are interconnected via bus 1104. Input / output (I / O) interface 1105 is also connected to bus 1104.
[0110] Typically, the following devices can be connected to I / O interface 1105: input devices 1106 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 1107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1109. Communication device 1109 allows electronic device 1100 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 11 An electronic device 1100 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0111] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 1109, or installed from storage device 1108, or installed from ROM 1102. When the computer program is executed by processing device 1101, it performs the functions defined in the methods of embodiments of this disclosure.
[0112] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0113] In some implementations, communication can be conducted using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can be interconnected with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.
[0114] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0115] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: in response to an operation to open a first page of the call center system, load a page synchronization service and request agent status from a server through the page synchronization service; store the agent status returned by the server in the page synchronization service and display the agent status on the first page; and in response to an operation to open a second page of the call center system, control the second page to connect with the page synchronization service, retrieve the stored agent status from the page synchronization service, and display the retrieved agent status on the second page, wherein the second page is a page in the call center system different from the first page.
[0116] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0117] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0118] The modules described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules are not, in some cases, intended to limit the functionality of the module itself.
[0119] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0120] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0121] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0122] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0123] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative forms of implementing the claims. Regarding the apparatus in the above embodiments, the specific manner in which the various modules perform their operations has been described in detail in the embodiments relating to the method, and will not be elaborated upon here.
Claims
1. A method for synchronizing page state, characterized in that, The method includes: In response to the opening operation of the first page of the call center system, the page synchronization service is loaded, the agent status is requested from the server through the page synchronization service, and a communication instance corresponding to the first page is created. The agent status returned by the server is stored in the page synchronization service, and the agent status is displayed on the first page; In response to the opening operation of the second page of the call center system, the second page is controlled to connect with the page synchronization service, the stored agent status is obtained from the page synchronization service, and the obtained agent status is displayed on the second page, wherein the second page is a page in the call center system that is different from the first page; The method further includes: In response to the closing operation of the first page, the communication instance corresponding to the first page is deleted, and a backup page is determined. The backup page is notified to create a communication instance through the page synchronization service. The backup page is a page randomly determined from all the opened pages in the call center system except for the first page, or the last page activated in the call center system. In response to the notification from the page synchronization service regarding the creation of a communication instance for the backup page, the system controls the backup page to create a corresponding communication instance to replace the communication instance corresponding to the first page.
2. The method according to claim 1, characterized in that, The method further includes: When the agent status of any opened page in the call center system changes, the corresponding status change information is determined and the status change information is synchronized to the page synchronization service, wherein the status change information includes the changed target agent status. The target page to be changed is determined from all the opened pages in the call center system. The target page is a page with identification information corresponding to the target agent status. The target page's agent status is updated and displayed using the page synchronization service.
3. The method according to claim 1, characterized in that, The method further includes: In response to a refresh operation on the first page, load a new page synchronization service; Determine the version information of the new page synchronization service and store the version information locally; In response to a refresh operation on the second page, the version information of the page synchronization service connected to the second page is determined, and the version information stored locally is obtained; If the version information of the page synchronization service connected to the second page is different from the version information stored locally, then the page synchronization service connected to the second page is disconnected, and the second page is connected to the new page synchronization service.
4. The method according to claim 3, characterized in that, The method further includes: If the pages opened by the call center system include other pages besides the first page and the second page, then while disconnecting the page synchronization service connected to the second page, the other pages are notified to disconnect from the page synchronization service, and the other pages are notified to connect to the new page synchronization service.
5. The method according to any one of claims 1-4, characterized in that, The first page and the second page display functional controls for characterizing agent call functions, and the method further includes: In response to the selection operation of the target function control in the first page, the agent call status in the first page is changed by calling the method corresponding to the target function control through the communication instance corresponding to the first page and the page synchronization service, and the agent call status in the second page is changed by calling the method corresponding to the target function control through the proxy object corresponding to the second page. The communication instance is created in response to the opening operation of the first page and is used for voice communication with the server. The proxy object is created in response to the opening operation of the second page.
6. The method according to any one of claims 1-4, characterized in that, The method further includes: After creating the communication instance corresponding to the first page, communication identification information is generated to identify the created communication instance, and the communication identification information is stored in the page synchronization service. In response to the opening operation of the second page, it is determined whether communication identification information for representing a created communication instance can be obtained from the page synchronization service. If the communication identification information can be obtained from the page synchronization service, the second page is controlled not to create a communication instance.
7. The method according to claim 6, characterized in that, The method further includes: In response to deleting the communication instance corresponding to the first page, the communication identification information in the page synchronization service is deleted; After creating the communication instance corresponding to the backup page, new communication identification information is generated and stored in the page synchronization service.
8. A page state synchronization device, characterized in that, The device includes: The first loading module is used to load the page synchronization service in response to the opening operation of the first page of the call center system, request the agent status from the server through the page synchronization service, and create a communication instance corresponding to the first page. The storage module is used to store the agent status returned by the server to the page synchronization service and display the agent status on the first page; The synchronization module is used to respond to the opening operation of the second page of the call center system, control the second page to connect with the page synchronization service, obtain the stored agent status from the page synchronization service, and display the obtained agent status on the second page, wherein the second page is a page in the call center system that is different from the first page; The sixth determining module is used to, in response to the closing operation of the first page, delete the communication instance corresponding to the first page, determine a backup page, and notify the backup page to create a communication instance through the page synchronization service. The backup page is a page randomly determined from all the opened pages in the call center system except for the first page, or the last page activated in the call center system. The second creation module is used to respond to the notification from the page synchronization service regarding the creation of a communication instance for the backup page, and control the backup page to create a corresponding communication instance to replace the communication instance corresponding to the first page.
9. A non-transitory computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processing device, it implements the steps of the method described in any one of claims 1-7.
10. An electronic device, characterized in that, include: A storage device on which computer programs are stored; A processing device for executing the computer program in the storage device to implement the steps of the method according to any one of claims 1-7.
Citation Information
Patent Citations
Method and system for synchronously connecting multiple pages of browser to call center
CN109286618A
Webpage real-time communication method and device for multiple pages and electronic equipment
CN112187887A
Page management method and device, computer equipment and storage medium
CN113312571A