WO2017067374A1 - 一种消息推送方法及推送服务器 - Google Patents

一种消息推送方法及推送服务器 Download PDF

Info

Publication number
WO2017067374A1
WO2017067374A1 PCT/CN2016/100599 CN2016100599W WO2017067374A1 WO 2017067374 A1 WO2017067374 A1 WO 2017067374A1 CN 2016100599 W CN2016100599 W CN 2016100599W WO 2017067374 A1 WO2017067374 A1 WO 2017067374A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
index
push
message
target
Prior art date
Application number
PCT/CN2016/100599
Other languages
English (en)
French (fr)
Inventor
潘道华
季健
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017067374A1 publication Critical patent/WO2017067374A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Definitions

  • the main technical problem to be solved by the embodiment of the present invention is to provide a message pushing method and a push server, which can solve the problem that the existing message push needs to be searched and matched by the user in the central database, and the push efficiency is low, and the push mode is inflexible.
  • the problem is to provide a message pushing method and a push server, which can solve the problem that the existing message push needs to be searched and matched by the user in the central database, and the push efficiency is low, and the push mode is inflexible.
  • the push server locally creates a user index table, where the user index table includes a user index and an index value corresponding to each user index; the index value is obtained by the push server from user information of each user;
  • the push server receives a push instruction having a push policy, where the push policy includes at least one target user index and a target index value corresponding to the target user index;
  • the push server searches, from the user index table, a user whose user index is the same as the target user index and whose index value matches the target index value is the target user of the push;
  • the push server pushes a message to the target user.
  • the user index includes at least one of a user basic information index and a user service information index.
  • the index value of the user basic information index extracted by the push server from the user information of the user includes:
  • the user basic information is obtained from the registration message of the user, and the index value of the user basic information index is extracted from the basic information of the user.
  • the index value of the user service information index extracted by the push server from the user information of the user includes:
  • the user basic information index includes at least one of a terminal type, a terminal number, and a user account.
  • the user service information index includes at least one of a belonging location area, a belonging service partition, and a belonging user group.
  • the push server locally creates a user index table as Create a user index table in local memory.
  • the pushing instruction further includes pushing content
  • the pushing server pushing the message to the target user includes:
  • a message containing the push content is pushed to the online target user.
  • the present invention also provides a push server, including:
  • a creating module configured to create a user index table locally on the push server, where the user index table includes a user index and an index value corresponding to each user index; the index value is obtained by the creating module from user information of each user ;
  • a receiving module configured to receive a push instruction having a push policy, where the push policy includes at least one target user index and a target index value corresponding to the target user index;
  • a matching module configured to search, from the user index table, a user whose user index is the same as the target user index and whose index value matches the target index value is the target user of the push;
  • a push module configured to push a message to the target user.
  • the user index includes at least one of a user basic information index and a user service information index.
  • the creating module includes a basic index extracting submodule, configured to obtain basic user information from a registration message of the user when the user index includes a user basic information index, and The index value of the user basic information index is extracted from the user basic information.
  • the creating module includes a service index extracting submodule, and the service index extracting submodule includes an authentication processing unit and an extracting unit;
  • the extracting unit is configured to extract an index value of the user service information index from the user service information.
  • the creation module includes a memory creation sub-module configured to create the user index table in the push server memory.
  • a computer storage medium is further provided, and the computer storage medium may store an execution instruction for executing the implementation of the message pushing method in the foregoing embodiment.
  • the push server locally creates a user index table, where the user index table includes a user index and an index value corresponding to each user index; the index value is from the user information of each user of the push server. And then the push server receives the push instruction including the push policy, where the push policy includes at least one target user index and a target index value corresponding to the target user index; the push server finds the user index and the target from the previously locally established user index table. A user whose user index is the same and whose index value matches the target index value is used as the target user of the push, and then the message is pushed to the corresponding target user.
  • the push server in the present invention locally creates a user index table including a user index and a corresponding index value, and directly matches the corresponding target user to push the message according to the local user index table when performing message push. It is not necessary to perform matching search in the central database, the efficiency of message push is higher than the existing one, and the push mode is more flexible.
  • the push server in the IPTV system is a distributed design, so the created user index table is also a distributed index, so the occupied resources have basically no impact on each push server, and the push efficiency can be guaranteed.
  • FIG. 1 is a structural diagram of a message interaction system according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic flowchart of a message pushing method according to Embodiment 1 of the present invention.
  • FIG. 3 is a schematic flowchart of a user service information index obtaining process according to Embodiment 1 of the present invention.
  • FIG. 5 is a schematic flowchart of another message pushing method according to Embodiment 1 of the present invention.
  • FIG. 6 is a schematic structural diagram of a push server according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic structural diagram of the creation module in FIG. 6.
  • the invention creates a user index table including a user index and a corresponding index value locally by the push server, and directly matches the corresponding target user according to the local user index table to perform message push when performing message push. It does not need to go to a special database for matching search. The efficiency of message push is higher than the existing one, and the push mode is more flexible.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • the present embodiment is first described in an example line message interaction system architecture.
  • the system includes a service management platform, an access server, a push server, and a service authentication platform and a terminal (which may be a set top box, a terminal, or a PAD, etc.).
  • the terminal After the terminal is powered on, the terminal first accesses the access server, and the access server allocates a suitable push server to the terminal according to the rules of load balancing, etc., at this time, the terminal registers and authenticates according to the allocated push server to the push server. .
  • the terminal reports some basic information to the push server.
  • the service information terminals of the policy group and the service area in which they are located cannot be reported, and the information exists in the service database of the IPTV service system; the existing practice needs to synchronize these service data to the central database at regular intervals, which not only increases The system deployment cost, and the distributed effect of the message push system is also constrained.
  • the push server obtains the related information (including the number of services) of the user in real time from the IPTV service system according to the user information corresponding to the terminal. According to).
  • Step 201 The push server locally creates a user index table.
  • the user index table in the step includes a user index and an index value corresponding to each user index, where the index value is obtained by the push server from the user information of each user;
  • Step 202 The push server receives a push instruction having a push policy, where the push policy includes at least one target user index and a target index value corresponding to the target user index;
  • Step 203 The push server searches the user index table for the user whose user index is the same as the target user index and whose index value matches the target index value as the target user of the push;
  • Step 204 The push server pushes a message to the target user.
  • the user index includes at least one of a user basic information index and a user service information index.
  • the user basic information index refers to the user basic information as an index, and the user information includes, but is not limited to, at least one of a terminal type, a terminal number, and a user account; the corresponding index value is specific user information, for example, for the terminal. Type, whose index value is specific type information, such as mobile phones, set-top boxes, PADs, and so on.
  • the user service information index herein refers to the user service data as an index, and the service data includes, but is not limited to, at least one of a belonging location area, a belonging service partition, and a belonging user group.
  • the corresponding index value is the specific business data.
  • the location area is Shenzhen City, Guangdong province, and the corresponding index value is Shenzhen City, Guangdong province.
  • the location area index in the embodiment may be further subdivided into a province, a city, and the like.
  • the index value of the user basic information index extracted by the push server from the user information of the user includes:
  • the push server obtains user basic information from the user's registration message, and extracts an index value of the user basic information index from the user basic information.
  • the user first accesses the access server, and the access server allocates a push server to the user, and the user goes to the push server for registration and authentication, and when the user registers, pushes the basic information of the user to the push server, mainly including specific Terminal type, terminal number, user account, authentication field (usertoken), and corresponding IP address, port.
  • the process of extracting the index value of the user service information index from the user information of the user by the push server is shown in FIG. 3, and includes:
  • Step 301 The push server acquires a basic user message from the user registration message.
  • Step 302 The push server extracts the user account and the authentication field from the basic message of the user, and sends the authentication to the authentication server.
  • Step 303 The push server receives the user service information that is pushed by the authentication server when the user authentication succeeds. After the authentication server passes the authentication, the authentication server extracts the service information of the user from the service database in the IPTV system and feeds back to the push server.
  • the user service information specifically includes, but is not limited to, the province to which it belongs, the city to which it belongs, the group of users to belong, the service division to which it belongs, and the like;
  • Step 304 Extract an index value of the user service information index from the user service information.
  • the push server in the above step 201 may specifically create a user index table in the local memory; thus, the push server may directly from the user index table in the in-memory user index table according to the target user index. Match to the corresponding target user.
  • the push command includes the push content that needs to be pushed this time.
  • the push server can directly push the push message including the push content to all the selected target users. You can also push only the part of the above-mentioned target users that is currently online. For the specific process, see Figure 4, including:
  • Step 401 The push server selects the current online target user from the target user, and the terminal can maintain the online state with the push server through a heartbeat mechanism, etc., so the push server can easily determine which current online and which are not currently online;
  • Step 402 The push server pushes a push message containing the push content to the online target user.
  • Step 501 The access server and the push server are configured according to the current network condition, and after the configuration is completed, the operation is started.
  • Step 502 The terminal (which may be a mobile phone, a set top box, a PAD, etc.) accesses the access server, and the access server performs load balancing according to the user account, and returns the push server information obtained by the load balancing to the terminal;
  • Step 503 The terminal performs registration and report authentication according to the obtained push server detailed information.
  • the terminal reports the basic information of the terminal (including but not limited to: terminal type, terminal number, user account, authentication field (usertoken), And the corresponding IP address, port);
  • Step 504 The push server receives the registration message of the terminal, and sends the user account and the authentication field to the service authentication platform of the IPTV service system.
  • the service authentication platform of the IPTV service system authenticates the user to the service database, and checks the user. Whether it is a legitimate IPTV user, if the authentication is passed, the authentication success is returned to the push server, and the service authentication platform of the IPTV system can also obtain the service information of the terminal from the service database of the IPTV system (including but not limited to: the province to which it belongs , the city to which it belongs, the user group, the business partition to which it belongs, and return this information to the push server;
  • Step 505 After receiving the authentication and returning message returned by the service authentication platform of the IPTV system, the push server receives the service information of the user returned by the IPTV service authentication platform, and maintains related service information of the user in the memory.
  • the index is created and maintained (the index created includes: the terminal number, the user account, the city to which it belongs, the province to which it belongs, the service partition to which it belongs, the group to which the user belongs, and the index value of each index of the user is extracted; it should be understood that In addition to the above examples, the index can be flexibly set according to specific requirements.
  • Step 507 Send a push command to the access server; when creating a message that needs to be pushed, the WEB portal of the message system may perform flexible push policy setting in the push command, for example, may select to push the message to the user in a certain service area. Or choose to push to a VIP user to a user who has ordered a product package.
  • the message to be pushed is first sent to the access server, and the push message includes the push policy and the actual content pushed, and the push policy is, for example, to a certain service area.
  • the IPTV user performs message push and is redistributed by the access server to the push server that is actually responsible for message push;
  • Step 508 Since the IPTV users in a certain service area may be distributed on multiple push servers, the access server pushes the push instructions received from the management platform to all the push servers, and the push servers perform the user's Sorting and message push;
  • Step 509 After receiving the message of the access server, all the push servers search for the qualified users in the memory user index table according to the push policy in the push command, and the push server is maintained according to the memory.
  • the user's index information is directly located from the memory to find out the user information of all target users that meet the conditions. Compared with the traditional method of searching to the central database, the method queries faster.
  • Step 510 After the push server finds the user information, the push message is pushed to the queried target user who is currently online.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • This embodiment provides a push server, as shown in FIG. 6, which includes:
  • the matching module 3 is configured to search, from the user index table, a user whose user index is the same as the target user index and whose index value matches the target index value as the target user of the push;
  • the user index in this embodiment includes at least one of a user basic information index and a user service information index.
  • the user basic information index refers to the user basic information as an index, and the user information includes, but is not limited to, at least one of a terminal type, a terminal number, and a user account; the corresponding index value is specific user information, for example, for the terminal. Type, whose index value is specific type information, such as mobile phones, set-top boxes, PADs, and so on.
  • the user service information index herein refers to the user service data as an index, and the service data includes, but is not limited to, at least one of a belonging location area, a belonging service partition, and a belonging user group.
  • the corresponding index value is the specific business data.
  • the creation module 1 includes a basic index extraction sub-module 11 configured to be a registration message from the user when the user index includes the user basic information index.
  • the user basic information is obtained, and the index value of the user basic information index is extracted from the user basic information.
  • the creation module 1 includes a service index extraction sub-module 12, and the service index extraction sub-module 12 includes an authentication processing unit 121 and an extraction unit 122.
  • the authentication processing unit 121 is configured to: when the user index includes the user service information index, obtain the user basic message from the user registration message, extract the user account and the authentication field from the user basic message, and send the authentication to the authentication server, and the receiving authentication server is in the opposite. User service information pushed when the user authentication succeeds;
  • the extracting unit 122 is configured to extract an index value of the user service information index from the user service information.
  • the creation module 1 in this embodiment specifically includes a memory creation submodule, and is configured to create the user index table in the push server memory.
  • the push server can directly match the corresponding target user from the user index table according to the target user index in the in-memory user index table.
  • the push module 4 pushes a message to the target user
  • the push message including the push content can be directly pushed to all selected target users.
  • the push module 4 can also select the current online target user from the target user, and the terminal can maintain the online state through the heartbeat mechanism and the push server, so the push module 4 can be easily Determine which are currently online and which are not currently online.
  • the foregoing technical solution provided by the embodiment of the present invention can be applied to a message pushing method and a push server provided by the embodiment of the present invention.
  • the push server locally creates a user index table, where the user index table includes a user index and each user.
  • the index value corresponding to the index; the index value is obtained from the user information of each user by the push server; then the push server receives the push instruction including the push policy, the push policy includes at least one target user index and the target The target index value corresponding to the target user index;
  • the push server finds the user whose user index is the same as the target user index and whose index value matches the target index value from the previously established user index table as the target user of the push, and then The corresponding target user pushes the message.
  • the push server in the present invention locally creates a user index table including a user index and a corresponding index value, and directly matches the corresponding target user to push the message according to the local user index table when performing message push. It is not necessary to perform matching search in the central database, the efficiency of message push is higher than the existing one, and the push mode is more flexible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息推送方法及推送服务器,推送服务器在本地创建好包含用户索引以及对应索引值的用户索引表,在进行消息推送时直接根据本地的用户索引表匹配到相应的目标用户进行消息的推送。并不需要到专门的数据库中进行匹配查找,消息推送的效率相对现有更高,推送方式也更为灵活。

Description

一种消息推送方法及推送服务器 技术领域
本发明涉及通信领域,具体涉及一种消息推送方法及推送服务器。
背景技术
随着IPTV(Internet Protocol Television,交互式网络电视)系统中用户增多,IPTV的消息交互是典型的业务需求,在此业务场景下,会存在各种业务终端、机顶盒,对于拥有这些终端和机顶盒的用户,他们属于不同的策略分组,不同的业务区,不同的兴趣套餐,喜欢不同的节目频道等等,也就是说这些用户对各种需求是存在差异化的,为了保证交互消息的高效及时精准送达给用户,是十分必要的。为了保证各种消息以不同方式精准及时送达到有效的用户手中,当前通过中心数据库维护各用户的用户信息的消息推送方式。但这种推送方式灵活性和及时性方面都不能满足当前的需求,比如当前需要向某个策略分组的在线用户进行某个消息推送,因为终端的详细业务数据信息均保存在业务数据库中,需要把业务数据库中的的用户数据同步到中心数据库中;然后当前的系统在每次推送前,均需要到中心数据库中查找到该策略分组的所有的在线用户,然后根据这些查找到的用户匹配后进行消息推送,这种处理方式比较低效,每次从数据库进行数据的查找,已经成为处理效率的瓶颈,而且这种消息推送方式不够灵活。
发明内容
本发明实施例要解决的主要技术问题是,提供一种消息推送方法及推送服务器,解决现有消息推送需从中心数据库中进行用户的查找匹配后进行推送,导致推送效率低、推送方式不灵活的问题。
为解决上述技术问题,本发明实施例提供一种消息推送方法,包括:
推送服务器在本地创建用户索引表,所述用户索引表包含用户索引以及各用户索引对应的索引值;所述索引值为推送服务器从各用户的用户信息中获取;
推送服务器接收具有包含推送策略的推送指令,所述推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
推送服务器从所述用户索引表中查找到用户索引与所述目标用户索引相同、且索引值与所述目标索引值匹配的用户作为此次推送的目标用户;
推送服务器向所述目标用户推送消息。
在本发明的一种实施例中,所述用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。
在本发明的一种实施例中,所述用户索引包括用户基本信息索引时,所述推送服务器从用户的用户信息提取用户基本信息索引的索引值包括:
从用户的注册消息中获取用户基本信息,从所述用户基本信息中提取用户基本信息索引的索引值。
在本发明的一种实施例中,所述用户索引包括用户业务信息索引时,所述推送服务器从用户的用户信息提取用户业务信息索引的索引值包括:
从用户注册消息中获取用户基本消息;
从所述用户基本消息中提取用户账号和认证字段并发给认证服务器进行认证;
接收认证服务器在对所述用户认证成功时推送的用户业务信息;
从所述用户业务信息中提取所述用户业务信息索引的索引值。
在本发明的一种实施例中,所述用户基本信息索引包括终端类型、终端号、用户账号中的至少一种。
在本发明的一种实施例中,所述用户业务信息索引包括所属位置区域、所属业务分区、所属用户分组中的至少一种。
在本发明的一种实施例中,所述推送服务器在本地创建用户索引表为 在本地内存中创建用户索引表。
在本发明的一种实施例中,所述推送指令还包括推送内容,所述推送服务器向所述目标用户推送消息包括:
从所述目标用户中选择出当前在线的在线目标用户;
向所述在线目标用户推送包含所述推送内容的消息。
为了解决上述问题,本发明还提供了一种推送服务器,包括:
创建模块,设置为在所述推送服务器本地创建用户索引表,所述用户索引表包含用户索引以及各用户索引对应的索引值;所述索引值为所述创建模块从各用户的用户信息中获取;
接收模块,设置为接收具有包含推送策略的推送指令,所述推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
匹配模块,设置为从所述用户索引表中查找到用户索引与所述目标用户索引相同、且索引值与所述目标索引值匹配的用户作为此次推送的目标用户;
推送模块,设置为向所述目标用户推送消息。
在本发明的一种实施例中,所述用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。
在本发明的一种实施例中,所述创建模块包括基本索引提取子模块,设置为在所述用户索引包括用户基本信息索引时,从用户的注册消息中获取用户基本信息,并从所述用户基本信息中提取用户基本信息索引的索引值。
在本发明的一种实施例中,所述创建模块包括业务索引提取子模块,所述业务索引提取子模块包括认证处理单元和提取单元;
所述认证处理单元设置为在所述用户索引包括用户业务信息索引时,从用户注册消息中获取用户基本消息,从所述用户基本消息中提取用户账号和认证字段并发给认证服务器进行认证,接收认证服务器在对所述用户 认证成功时推送的用户业务信息;
所述提取单元设置为从所述用户业务信息中提取所述用户业务信息索引的索引值。
在本发明的一种实施例中,创建模块包括内存创建子模块,设置为在所述推送服务器内存中创建所述用户索引表。
在本发明实施例中,还提供了一种计算机存储介质,该计算机存储介质可以存储有执行指令,该执行指令用于执行上述实施例中的消息推送方法的实现。
本发明实施例的有益效果是:
本发明实施例提供的消息推送方法及推送服务器,推送服务器在本地创建用户索引表,该用户索引表包含用户索引以及各个用户索引对应的索引值;索引值为推送服务器从各用户的用户信息中获取;然后推送服务器接收包含推送策略的推送指令,该推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;推送服务器从之前本地建立的用户索引表中查找到用户索引与目标用户索引相同、且索引值与目标索引值匹配的用户作为此次推送的目标用户,然后向对应的目标用户推送消息。也即本发明中的推送服务器在本地创建好包含用户索引以及对应索引值的用户索引表,在进行消息推送时直接根据本地的用户索引表匹配到相应的目标用户进行消息的推送。并不需要到中心数据库中进行匹配查找,消息推送的效率相对现有更高,推送方式也更为灵活。
另外,IPTV系统中推送服务器是分布式设计,因此所创建的用户索引表也是一种分布式索引,因此占用的资源对各推送服务器基本没有影响,且能保证推送效率。
附图说明
图1为本发明实施例一提供的消息交互系统架构图;
图2为本发明实施例一提供的消息推送方法流程示意图;
图3为本发明实施例一提供的用户业务信息索引获取流程示意图;
图4为本发明实施例一提供的信息推送过程流程示意图;
图5为本发明实施例一提供的另一消息推送方法流程示意图;
图6为本发明实施例二提供的推送服务器结构示意图;
图7为图6中的创建模块结构示意图。
具体实施方式
本发明通过推送服务器在本地创建好包含用户索引以及对应索引值的用户索引表,在进行消息推送时直接根据本地的用户索引表匹配到相应的目标用户进行消息的推送。并不需要到专门的数据库中进行匹配查找,消息推送的效率相对现有更高,推送方式也更为灵活。下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
为了更好的理解本发明,本实施例首先以一种示例行的消息交互系统架构进行说明。请参见图1所示,该系统包括业务管理平台、接入服务器、推送服务器以及业务认证平台和终端(可以是机顶盒、终端或PAD等)。终端在开机后,首先会到接入服务器进行接入,接入服务器根据负载均衡等规则为该终端分配一个合适的推送服务器,此时终端根据分配的推送服务器到该推送服务器进行注册以及认证处理。在注册过程中,终端会向推送服务器上报自身的一些基本信息。但是对于策略分组、所处的业务区这些业务信息终端无法上报,这些信息存在于IPTV业务系统的业务数据库中;现有的做法需定时将这些业务数据同步到中心数据库中,这种做法不仅增加了系统部署成本,而且消息推送系统的分布式效果也受到制约。本实施例中,终端到推送服务器进行认证时,推送服务器会根据该终端对应的用户信息,到IPTV业务系统实时获取该用户的相关信息(包括业务数 据等)。具体可通过将该用户的信息以及认证信息发送到IPTV业务系统的业务认证平台进行用户的合法性验证,验证通过后的业务认证平台从业务数据库中获取到该用户的业务信息,包括但不限于所属省份、所属城市、所属用户分组、所属业务区等等,然后将获取业务信息反馈给推送服务器。也即,本实施例中的推送服务器可以获取到用户的基本信息和业务信息。下面本实施例对本发明中的消息推送方法进行示例性说明,请参见图2所示,包括:
步骤201:推送服务器在本地创建用户索引表;
该步骤中的用户索引表包含用户索引以及各用户索引对应的索引值,该索引值为推送服务器从各用户的用户信息中获取;
步骤202:推送服务器接收具有包含推送策略的推送指令,该推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
步骤203:推送服务器从用户索引表中查找到用户索引与所述目标用户索引相同、且索引值与目标索引值匹配的用户作为此次推送的目标用户;
步骤204:推送服务器向目标用户推送消息。
在本实施例中,用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。此处的用户基本信息索引是指以用户基本信息作为索引,该用户信息包含但不限于终端类型、终端号、用户账号中的至少一种;对应的索引值就是具体的用户信息,例如对于终端类型,其索引值为具体的类型信息,例如手机、机顶盒、PAD等等。此处的用户业务信息索引是指以用户业务数据作为索引,该业务数据包括但不限于所属位置区域、所属业务分区、所属用户分组中的至少一种。对应的索引值就是具体的业务数据,例如所属位置区域为广东省深圳市,对应的索引值就为广东省深圳市。另外,本实施例中的所属位置区域索引还可进一步细分为所属省份、所属城市等。
在本实施例中,用户索引包括用户基本信息索引时,推送服务器从用户的用户信息提取用户基本信息索引的索引值包括:
推送服务器从用户的注册消息中获取用户基本信息,从该用户基本信息中提取用户基本信息索引的索引值。
具体的,用户先到接入服务器接入,接入服务器为该用户分配一个推送服务器,用户到该推送服务器进行注册及认证,在用户进行注册时,向推送服务器推送用户基本信息,主要包括具体的终端类型、终端号、用户账号、认证字段(usertoken)、以及相应的IP地址、端口。
用户索引包括用户业务信息索引时,推送服务器从用户的用户信息提取用户业务信息索引的索引值的过程请参见图3所示,包括:
步骤301:推送服务器从用户注册消息中获取用户基本消息;
步骤302:推送服务器从用户基本消息中提取用户账号和认证字段并发给认证服务器进行认证;
步骤303:推送服务器接收认证服务器在对用户认证成功时推送的用户业务信息;认证服务器对该用户认证通过后,会从IPTV系统中的业务数据库中提取该用户的业务信息反馈给推送服务器;该用户业务信息具体包括但不限于所属省份、所属城市、所属用户分组、所属业务分区等;
步骤304:从用户业务信息中提取用户业务信息索引的索引值。
另外,为了更进一步提升消息推送效率,上述步骤201中推送服务器具体可在本地内存中创建用户索引表;这样推送服务器可直接在内存中的用户索引表中根据目标用户索引从该用户索引表中匹配到对应的目标用户。
本实施例中,推送指令除了包括推送策略外,还包括此次需要推送的推送内容。上述步骤204中推送服务器可直接向选出的所有目标用户推送包含上述推送内容的推送消息。也可仅向上述目标用户中当前在线的那部分推送,具体的过程请参见图4所示,包括:
步骤401:推送服务器从目标用户中选择出当前在线的在线目标用户,终端可通过心跳等机制与推送服务器维护在线状态,因此推送服务器可以轻易确定哪些当前在线,哪些当前不在线;
步骤402:推送服务器向在线目标用户推送包含推送内容的推送消息。
为了更好的理解本发明,下面以一个完整的推送流程为示例,对本发明做示例性的说明。该过程请参见图5所示,包括:
步骤501:接入服务器和推送服务器根据当前的网络情况,进行配置,配置完成后,启动运行;
步骤502:终端(可以是手机、机顶盒、PAD等)到接入服务器进行接入,接入服务器根据用户账号进行负载均衡,将负载均衡获取到的推送服务器信息返回给终端;
步骤503:终端根据获取到的推送服务器详细信息,到推送服务器进行注册上报认证;注册时,上报终端的基本信息(包括但不限于:终端类型、终端号、用户账号、认证字段(usertoken)、以及相应的IP地址、端口);
步骤504:推送服务器接收到终端的注册消息,将其中的用户账号和认证字段发送到IPTV业务系统的业务认证平台,IPTV业务系统的业务认证平台到业务数据库中对该用户进行认证,检查该用户是否是合法的IPTV用户,如果认证通过,则会向推送服务器返回认证成功,同时IPTV系统的业务认证平台还可从IPTV系统的业务数据库中获取该终端的业务信息(包括但不限于:所属省份,所属城市,所属用户分组,所属业务分区),将这些信息返回给推送服务器;
步骤505:推送服务器在收到IPTV系统的业务认证平台返回的认证通过的消息后,同时接收IPTV业务认证平台返回的该用户的业务信息,对该用户的相关业务信息在内存中维护起来,同时对相关的业务数据进行索引创建与维护(创建的索引包括:终端号、用户账号、所属城市、所属省份,所属业务分区、所属用户分组,并提取该用户各索引的索引值;应当理解的是,索引除了上述示例外,可以根据具体需求灵活设置);本实施例中的索引在内存中可采用key-value的形式进行维护;每个推送服务器维护自己的索引数据信息,因为推送服务器为多个分布式设计,同一个 用户分组的用户可能分布在多台推送服务器上,因此推送服务器所创建的索引是一种分布式内存索引。同时该终端的基本信息和详细业务信息也可在推送服务器本地磁盘上进行分布式存储,以保证如果推送服务器中途异常重启,在重启后,相关的终端信息直接从本地磁盘重新读入,以及对应的索引也将被重建,这样就不需要终端的再次注册,以及从数据库再次认证上报的过程。为了保证推送服务器内存的开销,可在内存中的若干索引所维护的实体基础数据仅存在一份。
步骤506:终端注册成功后,可以通过心跳保活消息维护终端的活动状态。
步骤507:向接入服务器发送推送指令;消息系统的WEB门户在创建需要推送的消息时,可以在推送指令中进行灵活的推送策略设置,比如可以选择向某个业务区的用户进行消息推送,或者选择向VIP用户、向订购了某个产品包的用户进行推送。WEB在将待推送消息创建好并选择了对应的用户策略后,将需要推送的消息首先发送到接入服务器,推送消息包含推送策略和推送的实际内容,推送策略比如是向某个业务区的IPTV用户进行消息推送,由接入服务器再分发到实际负责消息推送的推送服务器;
步骤508:由于某个业务区的IPTV用户可能会分布在多台推送服务器上,因此接入服务器会将从管理平台收到的推送指令推送给所有的推送服务器,由各个推送服务器再进行用户的分拣和消息推送;
步骤509:所有的推送服务器在收到接入服务器的消息后,根据推送指令中的推送策略,在自身的内存用户索引表中将符合条件的用户查找出来,此时推送服务器根据内存中维护的用户的索引信息,直接从内存中定位查找出符合条件的所有目标用户的用户信息,和传统的到中心数据库查找方式相比,该方法查询速度比较快;
步骤510:推送服务器将用户信息查找出来后,将推送消息推送至查询出的且当前在线的目标用户。
实施例二:
本实施例提供了一种推送服务器,请参见图6所示,其包括:
创建模块1,设置为在推送服务器本地创建用户索引表,用户索引表包含用户索引以及各用户索引对应的索引值;索引值为创建模块1从各用户的用户信息中获取;
接收模块2,设置为接收具有包含推送策略的推送指令,推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
匹配模块3,设置为从用户索引表中查找到用户索引与目标用户索引相同、且索引值与目标索引值匹配的用户作为此次推送的目标用户;
推送模块4,设置为向目标用户推送消息。
本实施例中的用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。此处的用户基本信息索引是指以用户基本信息作为索引,该用户信息包含但不限于终端类型、终端号、用户账号中的至少一种;对应的索引值就是具体的用户信息,例如对于终端类型,其索引值为具体的类型信息,例如手机、机顶盒、PAD等等。此处的用户业务信息索引是指以用户业务数据作为索引,该业务数据包括但不限于所属位置区域、所属业务分区、所属用户分组中的至少一种。对应的索引值就是具体的业务数据,例如所属位置区域为广东省深圳市,对应的索引值就为广东省深圳市。另外,本实施例中的所属位置区域索引还可进一步细分为所属省份、所属城市等。
在本实施例中,用户索引包括用户基本信息索引时,请参见图7所示,创建模块1包括基本索引提取子模块11,设置为在用户索引包括用户基本信息索引时,从用户的注册消息中获取用户基本信息,并从用户基本信息中提取用户基本信息索引的索引值。
用户索引包括用户业务信息索引时,请参见图7所示,创建模块1包括业务索引提取子模块12,业务索引提取子模块12包括认证处理单元121和提取单元122;
认证处理单元121设置为在用户索引包括用户业务信息索引时,从用户注册消息中获取用户基本消息,从用户基本消息中提取用户账号和认证字段并发给认证服务器进行认证,接收认证服务器在对所述用户认证成功时推送的用户业务信息;
提取单元122设置为从用户业务信息中提取所述用户业务信息索引的索引值。
本实施例中的创建模块1具体包括内存创建子模块,设置为在推送服务器内存中创建所述用户索引表。这样推送服务器可直接在内存中的用户索引表中根据目标用户索引从该用户索引表中匹配到对应的目标用户。
推送模块4向目标用户推送消息时,可直接向选出的所有目标用户推送包含上述推送内容的推送消息。也可仅向上述目标用户中当前在线的那部分推送,推送模块4从目标用户中选择出当前在线的在线目标用户,终端可通过心跳等机制与推送服务器维护在线状态,因此推送模块4可以轻易确定哪些当前在线,哪些当前不在线。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
工业实用性
本发明实施例提供的上述技术方案,可以应用于消息推送过程中,本发明实施例提供的消息推送方法及推送服务器,推送服务器在本地创建用户索引表,该用户索引表包含用户索引以及各个用户索引对应的索引值;索引值为推送服务器从各用户的用户信息中获取;然后推送服务器接收包含推送策略的推送指令,该推送策略包含至少一个目标用户索引以及该目 标用户索引对应的目标索引值;推送服务器从之前本地建立的用户索引表中查找到用户索引与目标用户索引相同、且索引值与目标索引值匹配的用户作为此次推送的目标用户,然后向对应的目标用户推送消息。也即本发明中的推送服务器在本地创建好包含用户索引以及对应索引值的用户索引表,在进行消息推送时直接根据本地的用户索引表匹配到相应的目标用户进行消息的推送。并不需要到中心数据库中进行匹配查找,消息推送的效率相对现有更高,推送方式也更为灵活。

Claims (13)

  1. 一种消息推送方法,包括:
    推送服务器在本地创建用户索引表,所述用户索引表包含用户索引以及各用户索引对应的索引值;所述索引值为推送服务器从各用户的用户信息中获取;
    推送服务器接收具有包含推送策略的推送指令,所述推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
    推送服务器从所述用户索引表中查找到用户索引与所述目标用户索引相同、且索引值与所述目标索引值匹配的用户作为此次推送的目标用户;
    推送服务器向所述目标用户推送消息。
  2. 如权利要求1所述的消息推送方法,其中,所述用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。
  3. 如权利要求2所述的消息推送方法,其中,所述用户索引包括用户基本信息索引时,所述推送服务器从用户的用户信息提取用户基本信息索引的索引值包括:
    从用户的注册消息中获取用户基本信息,从所述用户基本信息中提取用户基本信息索引的索引值。
  4. 如权利要求2所述的消息推送方法,其中,所述用户索引包括用户业务信息索引时,所述推送服务器从用户的用户信息提取用户业务信息索引的索引值包括:
    从用户注册消息中获取用户基本消息;
    从所述用户基本消息中提取用户账号和认证字段并发给认证服 务器进行认证;
    接收认证服务器在对所述用户认证成功时推送的用户业务信息;
    从所述用户业务信息中提取所述用户业务信息索引的索引值。
  5. 如权利要求3所述的消息推送方法,其中,所述用户基本信息索引包括终端类型、终端号、用户账号中的至少一种。
  6. 如权利要求4所述的消息推送方法,其中,所述用户业务信息索引包括所属位置区域、所属业务分区、所属用户分组中的至少一种。
  7. 如权利要求1-6任一项所述的消息推送方法,其中,所述推送服务器在本地创建用户索引表为在本地内存中创建用户索引表。
  8. 如权利要求1-6任一项所述的消息推送方法,其中,所述推送指令还包括推送内容,所述推送服务器向所述目标用户推送消息包括:
    从所述目标用户中选择出当前在线的在线目标用户;
    向所述在线目标用户推送包含所述推送内容的消息。
  9. 一种推送服务器,包括:
    创建模块,设置为在所述推送服务器本地创建用户索引表,所述用户索引表包含用户索引以及各用户索引对应的索引值;所述索引值为所述创建模块从各用户的用户信息中获取;
    接收模块,设置为接收具有包含推送策略的推送指令,所述推送策略包含至少一个目标用户索引以及该目标用户索引对应的目标索引值;
    匹配模块,设置为从所述用户索引表中查找到用户索引与所述目标用户索引相同、且索引值与所述目标索引值匹配的用户作为此次推 送的目标用户;
    推送模块,设置为向所述目标用户推送消息。
  10. 如权利要求8所述的推送服务器,其中,所述用户索引包括用户基本信息索引和用户业务信息索引中的至少一种。
  11. 如权利要求9所述的推送服务器,其中,所述创建模块包括基本索引提取子模块,设置为在所述用户索引包括用户基本信息索引时,从用户的注册消息中获取用户基本信息,并从所述用户基本信息中提取用户基本信息索引的索引值。
  12. 如权利要求9所述的推送服务器,其中,所述创建模块包括业务索引提取子模块,所述业务索引提取子模块包括认证处理单元和提取单元;
    所述认证处理单元设置为在所述用户索引包括用户业务信息索引时,从用户注册消息中获取用户基本消息,从所述用户基本消息中提取用户账号和认证字段并发给认证服务器进行认证,接收认证服务器在对所述用户认证成功时推送的用户业务信息;
    所述提取单元设置为从所述用户业务信息中提取所述用户业务信息索引的索引值。
  13. 如权利要求8-11任一项所述的推送服务器,其中,创建模块包括内存创建子模块,设置为在所述推送服务器内存中创建所述用户索引表。
PCT/CN2016/100599 2015-10-22 2016-09-28 一种消息推送方法及推送服务器 WO2017067374A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510691190.0A CN106612300A (zh) 2015-10-22 2015-10-22 一种消息推送方法及推送服务器
CN201510691190.0 2015-10-22

Publications (1)

Publication Number Publication Date
WO2017067374A1 true WO2017067374A1 (zh) 2017-04-27

Family

ID=58556665

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/100599 WO2017067374A1 (zh) 2015-10-22 2016-09-28 一种消息推送方法及推送服务器

Country Status (2)

Country Link
CN (1) CN106612300A (zh)
WO (1) WO2017067374A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842611A (zh) * 2018-12-14 2019-06-04 平安科技(深圳)有限公司 身份验证方法、装置、计算机设备和存储介质
CN113556399A (zh) * 2021-07-21 2021-10-26 京东方科技集团股份有限公司 消息推送装置、系统、方法、电子设备、存储介质
CN116112547A (zh) * 2022-12-28 2023-05-12 广州市玄武无线科技股份有限公司 消息推送方法、系统、装置和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317850A (zh) * 2017-06-19 2017-11-03 南京农业大学 消息推送服务器的改进方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246471A1 (en) * 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
CN102902733A (zh) * 2012-09-11 2013-01-30 北京奇艺世纪科技有限公司 一种基于内容订阅的信息推送方法、装置及系统
CN104166658A (zh) * 2013-05-17 2014-11-26 腾讯科技(北京)有限公司 一种媒体信息展示的方法、设备和系统
WO2014195761A1 (en) * 2013-06-04 2014-12-11 Paul Pearson Buyer-driven online push advertising platform for e-commerce
CN104317920A (zh) * 2014-10-29 2015-01-28 中英融贯资讯(武汉)有限公司 基于智能匹配用户需求的信息推送方法及系统
CN104580421A (zh) * 2014-12-22 2015-04-29 上海顶竹通讯技术有限公司 一种服务器及采用所述服务器的用户群组信息的推送方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246471A1 (en) * 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
CN102902733A (zh) * 2012-09-11 2013-01-30 北京奇艺世纪科技有限公司 一种基于内容订阅的信息推送方法、装置及系统
CN104166658A (zh) * 2013-05-17 2014-11-26 腾讯科技(北京)有限公司 一种媒体信息展示的方法、设备和系统
WO2014195761A1 (en) * 2013-06-04 2014-12-11 Paul Pearson Buyer-driven online push advertising platform for e-commerce
CN104317920A (zh) * 2014-10-29 2015-01-28 中英融贯资讯(武汉)有限公司 基于智能匹配用户需求的信息推送方法及系统
CN104580421A (zh) * 2014-12-22 2015-04-29 上海顶竹通讯技术有限公司 一种服务器及采用所述服务器的用户群组信息的推送方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842611A (zh) * 2018-12-14 2019-06-04 平安科技(深圳)有限公司 身份验证方法、装置、计算机设备和存储介质
CN113556399A (zh) * 2021-07-21 2021-10-26 京东方科技集团股份有限公司 消息推送装置、系统、方法、电子设备、存储介质
CN116112547A (zh) * 2022-12-28 2023-05-12 广州市玄武无线科技股份有限公司 消息推送方法、系统、装置和存储介质

Also Published As

Publication number Publication date
CN106612300A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
EP3640823B1 (en) Service data storage method, device, storage medium, and electronic device
US10715485B2 (en) Managing dynamic IP address assignments
WO2017067374A1 (zh) 一种消息推送方法及推送服务器
CN108683668B (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
US20190042276A1 (en) Service processing system, service processing method, and service update method
CN102710419B (zh) 一种用户认证的方法及装置
CN105162894B (zh) 设备标识获取方法及装置
CN107391758A (zh) 数据库切换方法、装置及设备
US11936755B2 (en) Systems and methods for determining a destination location for transmission of packetized data in a network system based on an application server attribute
US8930547B2 (en) Techniques for achieving storage and network isolation in a cloud storage environment
CN112995273B (zh) 网络打通方案生成方法、装置、计算机设备和存储介质
CN101442558A (zh) 一种为p2sp网络提供索引服务的方法和系统
CN102710763A (zh) 一种分布式缓存池化、分片及故障转移的方法及系统
JP6975153B2 (ja) データ格納サービス処理方法及び装置
CN110032547A (zh) 一种分布式环境下文件存储改进方法
CN110888858A (zh) 数据库的操作方法和装置、存储介质、电子装置
CN105045762A (zh) 一种配置文件的管理方法及装置
CN109151025A (zh) 基于url的负载均衡方法、装置、计算机存储介质及设备
CN101673272A (zh) 搜索信息的方法、系统、装置及垂直搜索引擎注册的方法
US20130339493A1 (en) Information feedback method and corresponding server
CN111008220A (zh) 数据源的动态识别方法及装置、存储介质和电子装置
CN112035760B (zh) 一种任务分配方法及计算机设备
US20220058208A1 (en) Communication apparatus and communication method
US8281000B1 (en) Variable-length nonce generation
CN101374223A (zh) 一种交互式网络电视系统的登陆方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16856807

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16856807

Country of ref document: EP

Kind code of ref document: A1