一种降低用户组匹配过程中负载峰值的方法和装置的制造方法_2

文档序号:9547190阅读:来源:国知局
的用户组标识;
[0049] 查询预设的用户组标识和匹配目标的对应关系,获取与所述用户组的标识对应的 匹配目标。
[0050] 再一实例中,步骤301可以包括以下步骤:
[0051] 在一个预设的事件发生时,查询预设的事件与用户组标识的对应关系,获取与该 事件对应的用户组标识;
[0052] 查询预设的用户组标识和匹配目标的对应关系,获取与所述用户组的标识对应的 匹配目标。
[0053] 其中,匹配目标指用户组需要满足的条件集合。优选的,可以将用户组需要满足的 条件进行拆解,一个或多个条件分别用一个数值化的信息表示,使得用户组的匹配目标模 式化。参见图4,匹配目标可以包含三种类型,分别为数值型匹配目标,关系型匹配目标和组 合型匹配目标;下面分别进行说明。
[0054] 1、数值型匹配目标由属性信息、运算信息、目标值信息和数值关系信息表示;
[0055] 其中,属性信息指示用户的属性,属性可以是用户的固有属性,例如:力量属性,智 力属性,基础战斗力属性等;或者,用户的动态属性,例如:用户所处位置,用户身上具有时 效性的附加属性,用户拥有某种物品,用户满足某种条件等。其中,对于用户拥有某种物品 和用户满足某种条件两种属性,可在程序中通过布尔变量描述。
[0056] 运算信息指示对用户集合中用户的属性执行的运算,例如,运算可以是总和,平均 值,任意两个用户属性的差值的最小值等。
[0057] 目标值为设定的属性目标值,目标值只允许是数值。
[0058] 数值关系信息指示,对用户的属性,执行运算信息指示的运算后所得结果,需要满 足的与目标值之间的关系。例如,数值关系可以是大于,小于,等于,大于等于或者小于等于 等。
[0059] 具体的,数值型匹配目标可以由四元组〈属性,运算,目标值,数值关系〉描述。例 如,〈智力属性,平均值,100,大于等于〉描述的数值型匹配目标为:用户组需要满足的匹配 要求为:用户组的每个用户的智力属性求得的平均值智力,应大于等于100。
[0060] 2、关系型匹配目标由关系信息、数量信息、目标值信息和数值关系信息表示; [0061] 其中,关系信息指示用户之间应该满足的关系,关系可以是公会关系,好友关系等 游戏中可能出现的各种用户之间的关系。需要说明的是,对于好友关系,可以为严格好友关 系,也可以为宽松好友关系。
[0062] 其中,严格好友关系要求用户组中每两个用户之间均互为好友关系。例如,用户组 中包含4个用户,分别为用户1、用户2、用户3和用户4,当满足用户1为用户2、用户3和 用户4的好友,且用户2为用户1、用户3和用户4的好友,且用户3为用户2、用户1和用 户4的好友,用户4为用户2、用户3和用户1的好友时才构成严格好友关系。
[0063] 宽松好友关系,指用户组中的每两个用户之间不需要互为好友关系,也可以是间 接好友关系,间接好友关系指两个用户存在至少一个共同的好友。例如,用户组中包含4个 用户,分别为用户1、用户2、用户3和用户4,其中用户1和用户2为好友关系;用户2和用 户3为好友关系;用户3和用户4为好友关系;则用户1和用户3、用户4为间接好友关系。 用户组中的4个用户可以构成宽松好友关系。
[0064] 数量信息指示满足关系信息指示的关系的匹配对象数量。
[0065]目标值为设定的属性目标值,目标值只允许是数值。
[0066] 数值关系信息指示数量信息与目标值之间的关系。例如,数值关系可以是大于,小 于,等于,大于等于或者小于等于等。
[0067] 具体的,数值型匹配目标可以由四元组〈关系,数量,目标值,数值关系〉描述,例 如,〈好友关系,数量,60,大于等于〉描述的数值型匹配目标为:用户组需要满足的匹配要 求为:用户组中,满足好友关系的用户的数量,应大于等于60。
[0068] 3、组合型匹配目标由至少一个组合元素种类信息,以及与组合元素种类信息一一 对应的组合元素数量信息表示。
[0069] 其中,组合元素种类信息指示组合型匹配目标需要的用户的种类,组合元素数量 信息与组合元素种类信息一一对应。每一对组合元素数量信息和组合元素种类信息可以用 二元组〈组合元素数量,组合元素种类〉的一个序列描述。组合元素种类对应职责的种类, 组合元素数量对应该职责在职责搭配中需满足的数量要求。程序中可通过数组方便的实现 这种模式化的组合型匹配目标。
[0070] 例如,网络游戏中常见的团队职责搭配需求(一个团队中每种职责的用户需要满 足一定数量要求),就是一种常见的组合关系。例如,一个由40个用户组成的用户组(副本 团队)的匹配目标是:需要有2个用户担任伤害吸收职责,8个用户担任治疗职责,30个用 户担任伤害输出职责。则该匹配目标可通过组合型匹配目标模式描述为〈2,伤害吸收>〈8, 治疗>〈30,伤害输出〉,在程序中可通过一个长度为3的数组实现,数组元素为{2,8, 30}。
[0071] 步骤302、根据所述用户组的匹配目标,在维护的用户列表中获取用户集合。
[0072] 其中,用户集合包含至少一个用户,用户是指用于构建用户组的游戏内基本元素, 包括但不限于用户扮演的游戏内职责,非玩家职责(Non-Player Character,简称NPC),各 种用户群体等。
[0073] -种实例中,服务器10可以在上述维护的用户列表中按顺序选择用户集合。
[0074] 步骤303、计算所述用户集合与所述匹配目标的匹配度。
[0075] 示例性的,步骤303可以包括以下步骤:
[0076] 303a、根据所述用户组匹配目标的至少一个数值化的信息,获取所述用户集合的 匹配结果数值;
[0077] 一个实例中,步骤303a可以通过下述步骤实现:
[0078] 根据所述匹配目标的属性信息和所述用户集合中的用户标识,查询预设用户属性 信息库,获取所述用户集合中每个用户与所述属性信息对应的属性,其中,所述用户属性信 息库包含用户标识,以及与用户标识对应的至少一个属性;
[0079] 对所述用户集合中每个用户的所述属性执行所述匹配目标的运算信息指示的运 算,获得所述用户集合的匹配结果数值。
[0080] 其中,服务器10可以维护用户的属性信息,例如,可以将每个用户的属性信息存 储在用户属性信息库,该用户属性信息库可以采用不同形式表现,本发明实施例对此不进 行限制,例如,表1为一种表格形式的用户属性信息库。
[0082] 如表1所示,用户属性信息库可以包含用户标识,以及分别与用户标识对应的属 性。其中用户标识可以为用户在客户端登录的用户名、账户号等唯一标识用户身份的信息, 本发明实施例对此不进行具体限定。
[0083] 服务器10通过用户集合中用户标识,可以查询用户属性信息库,可以获取用户属 性。再对用户集合中每个用户的该属性执行匹配目标的运算信息指示的运算,获得该用户 集合的匹配结果数值。例如,假设数值型匹配目标为〈智力属性,平均值,100,大于等于〉, 用户集合中包含7个用户,服务器10查询用户属性信息库,获取用户集合中每个用户的智 力属性值,假设分别为80、60、100、120、80和50;然后再计算用户集合中所有用户的智力属 性值的平均值,即(80+60+100+120+80+50)/6 = 70 ;得到的平均值70即为该用户集合的匹 配结果数值。
[0084] 另一实例中,步骤303a可以通过下述步骤实现:
[0085] 根据匹配目标的关系信息,查询预设用户关系信息库,在用户集合中,确定满足该 关系信息指示的关系的用户的数量,其中,该用户关系信息库包含用户标识,以及每两个用 户之间的关系信息;
[0086] 将满足该关系信息指示的关系的用户的数量作为该用户集合的匹配结果数值。
[0087] 其中,服务器10可以维护用户的关系信息,例如,可以将每个用户的关系信息存 储在用户关系信息库。该用户关系信息库可以采用不同形式表现,本发明实施例对此不进 行限制。例如,表2为一种的用户关系信息库。
[0090] 如表2所示,用户关系信息库可以包含每一种关系的标识,以及分别包含的用户 标识,每两个用户之间的关系信息可以表示为是否属于同一种关系(例如公会)。
[0091] 再如表3所示,为另一种形式的关系信息库。
[0094] 如表3所示,用户关系信息库可以包含每个用户标识,以及与每个用户标识存在 一特定关系(如好友关系)的用户标识。
[0095] 服务器10可以查询用户关系信息库,在用户集合中,确定满足该关系信息指示的 关系的用户的数量,并将满足该关系信息指示的关系的用户的数量作为该用户集合的匹配 结果数值。
[0096] 例如,假设关系型匹配目标为〈好友关系,数量,60,大于等于〉。假设用户集合中 包含80个用户,服务器10查询用户关系信息库,确定该80个用户中每两个用户之间是否 为好友关系。然后确定满足好友关系的用户数量η作为该用户集合的匹配结果数值。再一 实例中,步骤303a可以通过下述步骤实现:
[0097] 根据所述用户集合中的用户标识,查询用户职责信息库,获取所述用户集合中每 个用户的职责,其中,所述用户职责信息库包含用户标识,以及与用户标识对应的职责种 类;
[0098] 将所述用户集合中的用户,按照匹配目标的每一个组合元素种类信息指示的职责 进行分类;
[0099] 将每一类职责包含的用户数量组成的序列作为所述用户集合的匹配结果数值。
[0100] 其中,服务器10可以维护用户的职责信息,例如,可以将每个用户的职责信息存 储在用户职责信息库。该用户职责信息库可以采用不同形式表现,本发明实施例对此不进 行限制。例如,表4为一种用户职责信息库。
[0101] 表 4
[0102]
[0103] 假设一个组合型匹配目标模式描述为〈2,伤害吸收>〈8,治疗>〈30,伤害输出〉,表 示需要有2个用户担任伤害吸收职责,8个用户担任治疗职责,30个用户担任伤害输出职 责。则该匹配目标可通过在程序中可通过一个长度为3的数组实现,数组元素为{2,8, 30}。
[0104] 若用户集合中有2个用户担任伤害吸收职责,7个用户担任治疗职责,25个用户担 任伤害输出职责,则该用户集合可通过在程序中可通过一个长度为3的数组实现,数组元 素为{2, 7, 25},则该用户集合的匹配结果数值为{2, 7, 25}。
[0105] 303b、将所述匹配结果数值与所述用户组匹配目标比较,根据比较结
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1