发明内容
本发明实施例所要解决的技术问题在于,提供一种信息订制方法和系统,以增强系统稳定性,并提高信息订制处理效率。
为了解决上述技术问题,本发明实施例提供了一种信息订制方法,包括:
统筹中心服务器接收客户端发送的针对目标信息的订制请求,该订制请求中包括用户标识、目标信息标识以及信息订制量;
所述统筹中心服务器判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量;若否,将所述订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器;
所述目标信息订制业务服务器判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量是否小于所述信息订制量,若否,从所述信息配额剩余量中扣除所述信息订制量;
所述目标信息订制业务服务器向所述统筹中心服务器返回信息订制成功响应;
所述统筹中心服务器从所述目标信息标识对应的第一信息剩余总量中扣除所述信息订制量,并向客户端返回订制成功响应。
其中,所述目标信息订制业务服务器判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量是否小于所述信息订制量之后,还包括:
若小于,所述目标信息订制业务服务器判断所述目标信息标识对应的订制标识是否为订制结束;
若为订制结束,所述目标信息订制业务服务器向所述统筹中心服务器返回信息订制失败响应,以使所述统筹中心服务器向所述客户端返回信息订制失败响应;
否则,所述目标信息订制业务服务器向所述统筹中心服务器发送再分配请求;
所述统筹中心服务器接收所述再分配请求,判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第二剩余总量是否为0;
若不为0,所述统筹中心服务器根据所述第二剩余总量,以及信息订制业务服务器的数量再次为所述目标信息订制业务服务器分配信息配额;
所述目标信息订制业务服务器根据再次分配的信息配额对所述订制请求进行响应;
若为0,所述统筹中心服务器向所述目标信息订制业务服务器返回再分配失败响应;
所述目标信息订制业务服务器接收所述再分配失败响应,将所述目标信息标识对应的订制标识设置为订制结束,并向所述统筹中心服务器返回信息订制失败响应,以使所述统筹中心服务器向所述客户端返回信息订制失败响应。
其中,所述统筹中心服务器接收到客户端发送的针对目标信息的订制请求之后,以及所述判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量之前,还包括:
所述统筹中心服务器统计单位时间内接收到的订制请求的第一数量;
所述统筹中心服务器判断所述第一数量是否超过所述统筹中心服务器内存中存储的单位时间信息订制请求量第一阈值;
若超过,所述统筹中心服务器向所述客户端返回信息订制失败响应;
否则,所述统筹中心服务器执行所述判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
其中,所述统筹中心服务器接收到客户端发送的针对目标信息的订制请求之后,以及所述统筹中心服务器判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量之前,还包括:
所述统筹中心服务器统计单位时间内接收到的所述用户标识对应的订制请求的第三数量;
所述统筹中心服务器判断该第三数量是否超过所述统筹中心服务器内存中存储的每用户单位时间信息订制请求量第三阈值;
若超过,所述统筹中心服务器向所述客户端返回信息订制失败响应;
否则,所述统筹中心服务器执行所述判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
其中,所述目标信息订制业务服务器从所述信息配额剩余量中扣除所述信息订制量之后,还包括:
所述目标信息订制业务服务器向数据库服务器发送信息订制成功响应,以使所述数据库服务器从自身存储的所述目标信息标识对应的第三信息剩余总量中扣除所述信息订制量,以得到所述目标信息标识对应的更新后的第三信息剩余量;
所述目标信息订制业务服务器获取所述数据库服务器中存储的所述更新后的第三信息剩余总量,并将所述更新后的第三信息剩余总量发送给所述统筹中心服务器;
所述统筹中心服务器将所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量更新为所述更新后的第三信息剩余量。
本发明实施例还提供了一种信息订制系统,包括统筹中心服务器,以及多个信息订制业务服务器;其中:
统筹中心服务器,用于接收客户端发送的针对目标信息的订制请求,该订制请求中包括用户标识、目标信息标识以及信息订制量;
所述统筹中心服务器,还用于判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量;若否,将所述订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器;
所述信息订制业务服务器,用于当作为目标信息订制业务服务器时,判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量是否小于所述信息订制量,若否,从所述信息配额剩余量中扣除所述信息订制量;
所述信息订制业务服务器,还用于当作为目标信息订制业务服务器时,向所述统筹中心服务器返回信息订制成功响应;
所述统筹中心服务器,还用于从所述目标信息标识对应的第一信息剩余总量中扣除所述信息订制量,并向客户端返回订制成功响应。
其中,所述信息订制业务服务器,还用于当作为目标信息订制业务服务器,并判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量小于所述信息订制量时,判断所述目标信息标识对应的订制标识是否为订制结束;若为订制结束,向所述统筹中心服务器返回信息订制失败响应,以使所述统筹中心服务器向所述客户端返回信息订制失败响应;否则,向所述统筹中心服务器发送再分配请求;
所述统筹中心服务器,还用于判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第二剩余总量是否为0;若不为0,根据所述第二剩余总量,以及信息订制业务服务器的数量再次为所述目标信息订制业务服务器分配信息配额;若为0,向所述目标信息订制业务服务器返回再分配失败响应;
所述信息订制业务服务器,还用于作为目标信息订制业务服务器时,根据再次分配的信息配额对所述订制请求进行响应;或,接收所述再分配失败响应,将所述目标信息标识对应的订制标识设置为订制结束,并向所述统筹中心服务器返回信息订制失败响应,以使所述统筹中心服务器向所述客户端返回信息订制失败响应。
其中,所述统筹中心服务器,还用于接收到客户端发送的针对目标信息的订制请求之后,统计单位时间内接收到的订制请求的第一数量;
所述统筹中心服务器,还用于判断所述第一数量是否超过所述统筹中心服务器内存中存储的单位时间信息订制请求量第一阈值;若超过,向所述客户端返回信息订制失败响应;否则,执行判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
其中,所述统筹中心服务器,还用于接收到客户端发送的针对目标信息的订制请求之后,统计单位时间内接收到的所述用户标识对应的订制请求的第三数量;
所述统筹中心服务器,还用于判断该第三数量是否超过所述统筹中心服务器内存中存储的每用户单位时间信息订制请求量第三阈值;若超过,向所述客户端返回信息订制失败响应;否则,执行所述判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
其中,所述信息订制业务服务器,还用于作为目标信息订制业务服务器时,从所述信息配额剩余量中扣除所述信息订制量之后,向数据库服务器发送信息订制成功响应,以使所述数据库服务器从自身存储的所述目标信息标识对应的第三信息剩余总量中扣除所述信息订制量,以得到所述目标信息标识对应的更新后的第三信息剩余量;
所述信息订制业务服务器,还用于作为目标信息订制业务服务器时,获取所述数据库服务器中存储的所述更新后的第三信息剩余总量,并将所述更新后的第三信息剩余总量发送给所述统筹中心服务器;
所述统筹中心服务器,还用于将所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量更新为所述更新后的第三信息剩余量。
实施本发明实施例,具有如下有益效果:
统筹中心服务器接收到客户端发送的针对目标信息订制请求时,该订制请求包括用户标识、目标信息标识以及信息订制量,统筹中心服务器可以判断该统筹中心服务器内存中存储的目标信息标识对应的第一信息剩余总量是否小于该信息订制量,若否,将该订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器;目标信息订制业务服务器可以判断该目标信息订制业务服务器内存中存储的目标信息标识对应的信息配额剩余量是否小于信息订制量,若否,从信息配额剩余量中扣除该信息订制量,并向统筹中心服务器返回信息订制成功响应,以使统筹中心服务器从目标信息标识对应的第一信息剩余总量中扣除该信息订制量,并向客户端返回订制成功响应,一方面,通过部署多个信息订制业务服务器,实现了负载均衡,增强了系统稳定性,另一方面,统筹中心服务器以及信息订制业务服务器通过将相关配置加载在内存中,接收到信息订制请求时,可以根据内存中加载的信息进行响应,提高了信息订制处理效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例提供的一种信息订制方法和系统,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例提供的一种信息订制的网络构架示意图。如图1所示,该网络构架示意图可以包括客户端、统筹中心服务器、多个信息订制业务服务器,以及数据库服务器。其中,客户端与统筹中心服务器、统筹中心服务器与信息订制业务服务器,以及信息订制业务服务器与数据库服务器之间可以通过互联网进行通信连接。在图1所示的网络架构中,数据库服务器可以用于存储信息订制的相关配置信息,如信息标识、信息数量、信息订制开始时间和结束时间、统筹中心服务器单位时间信息订制请求量阈值、信息订制业务服务器单位时间信息订制请求量阈值、每用户单位时间信息订制请求量阈值等;统筹中心服务器接收到客户端发送的针对目标信息的订制请求时,可以将该订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器,从而可以实现负载均衡,提高系统稳定性;此外,统筹中心服务器和信息订制业务服务器在启动时,可以将数据库服务器中存储的相关配置信息加载到内存中,例如,统筹中心服务器可以在统筹中心服务器内存中加载信息标识、信息数量、统筹中心服务器单位时间信息订制请求量阈值、每用户单位时间信息订制请求量阈值等;信息订制业务服务器可以在信息订制业务服务器内存中加载信息标识、信息订制业务服务器单位时间信息订制请求量阈值等,从而,统筹中心服务器以及信息订制业务服务器不需要在每次接收到信息订制请求时,均从数据库服务器中读取相关信息,而可以直接从内存中读取,提高了信息订制处理效率。在图1所示的网络构架中,客户端包括但不限于PC(Personal Computer,个人计算机)、移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备。
基于图1所示的网络构架,本发明实施例提供了的一种信息订制方法。如图2所示,为本发明实施例提供的一种信息订制方法的流程示意图,可以包括以下步骤:
S201、统筹中心服务器接收客户端发送的针对目标信息的订制请求,该订制请求中包括用户标识、目标信息标识以及信息订制量。
本发明实施例中,信息订制开始之后,用户可以通过客户端向统筹中心服务器发送信息订制请求,以参与信息订制,其中,该订制请求中可以包括用户标识(如用户账号、用户昵称等)、目标信息标识(如物品编号)以及信息订制量。
举例来说,以信息订制为手机订购为例,用户在客户端中登陆相关应用后,可以通过客户端向统筹中心服务器发送针对手机A的订购请求,该订购请求中可以包括用户登陆相关应用(如淘宝、京东等)的用户账号(即用户标识)、手机A对应的商品编号(即目标信息标识),以及订购的手机A的数量(信息订制量)。
S202、统筹中心服务器判断该统筹中心服务器内存中存储的目标信息标识对应的第一信息剩余总量是否小于信息订制量。若是,返回信息订制失败响应;否则,转至步骤S203。
本发明实施例中,统筹中心服务器接收到客户端发送的针对目标信息的订制请求之后,可以根据该信息订制请求中包括的目标信息标识查询内存中存储的该目标信息标识对应的信息剩余总量(第一信息剩余总量),并判断该第一信息剩余总量是否小于订制请求中包括的信息订制量。其中,该第一信息剩余总量的初始值即为数据库服务器中存储的目标信息标识对应的信息总量。
若统筹中心服务器判断内存中存储的目标信息标识对应的第一信息剩余总量小于信息订制量,即目标信息的数量已不足以满足用户信息订制的需求,统筹中心服务器可以向客户端返回信息订制失败响应。
可选地,统筹中心服务器向客户端返回信息订制失败响应之后,还可以在客户端中输出提示信息,以提示用户信息剩余量不足,该提示信息中可以包括该目标信息标识对应的信息剩余总量。
若统筹中心服务器判断内存中存储的目标信息标识对应的第一信息剩余总量大于或等于信息订制量,可以执行步骤S203~S206。
S203、统筹中心服务器将该订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器。
本发明实施例中,统筹中心服务器判断内存中存储的目标信息标识对应的第一信息剩余总量大于或等于信息订制量时,统筹中心服务器可以将该订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器。
其中,统筹中心服务器可以从多个信息订制业务服务器中随机选择一个信息订制业务服务器作为目标信息订制业务服务器;或者,统筹中心服务器可以按照顺序依次从多个信息订制业务服务器中选择一个信息订制业务服务器作为目标信息订制业务服务器,如,首次接收到订制请求时,将信息订制业务服务器1作为目标信息订制业务服务器,再次接收到订制请求时,将信息订制业务服务器2作为目标信息订制业务服务器,以此类推;或者,统筹中心服务器可以根据预设算法确定目标信息订制业务服务器。
在一种可选的实施方式中,统筹中心服务器将订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器,可以包括:
统筹中心服务器对用户标识进行hash(哈希)运算,并将hash运算的结果对信息订制业务服务器的数量取模,根据该取模结果确定订制请求对应的多个信息订制业务服务器中的目标信息订制业务服务器,并将该订制请求发送给该目标信息订制业务服务器。
S204、目标信息订制业务服务器判断目标信息订制业务服务器内存中存储的目标信息标识对应的信息配额剩余量是否小于信息订制量。若是,返回信息订制失败响应;否则,转至步骤S205。
本发明实施例中,信息订制业务服务器启动后,可以向统筹中心服务器上报自身的可用状态,从而,统筹中心服务器可以根据信息订制业务服务器的数量,以及信息总量,确定为各信息订制业务服务器分配的信息配额;信息订制业务服务器可以将该信息配额加载到信息订制业务服务器内存中。
优选地,统筹中心服务器为信息订制业务服务器分配信息配额时,各信息订制业务服务器分配的信息配额可以大于平均值。
举例来说,假设信息总量为N,信息订制业务服务器的数量为M,则统筹中心服务器为各信息订制业务服务器分配的配额可以大于平均值(即N/M),例如,统筹中心服务器为各信息订制业务服务器分配的配额可以为2N/M,从而,可以当某个信息订制业务服务器访问量较大时,能够在一定程度上保证信息订制成功响应。
本发明实施例中,目标信息订制业务服务器接收到统筹中心服务器转发的订制请求之后,可以根据该订制请求中包括的目标信息标识,查询内存中存储的该目标信息标识对应的信息配额剩余量,并判断该信息配额剩余量是否小于订制请求中包括的信息订制量;其中,该信息配额剩余量的初始值为上述统筹中心服务器为该目标信息订制业务服务器分配的信息配额。
在一种可选的实施方式中,若目标信息订制业务服务器判断目标信息标识对应的信息配额剩余量小于信息订制量,即目标信息订制业务服务器确定当前的配额剩余量不足以满足用户信息订制的需求,则目标信息订制业务服务器可以向统筹中心服务器返回信息订制失败响应,从而,统筹中心服务器可以向客户端返回信息订制失败响应。
在另一种可选的实施方式中,目标信息订制业务服务器判断目标信息标识对应的信息配额剩余量小于信息订制量之后,可以包括以下步骤:
11)、目标信息订制业务服务器判断目标信息标识对应的订制标识是否为订制结束;若为订制结束,执行步骤12);否则,执行步骤13)~步骤18);
12)、目标信息订制业务服务器向统筹中心服务器返回信息订制失败响应,以使统筹中心服务器向客户端返回信息订制失败响应;
13)、目标信息订制业务服务器向统筹中心服务器发送再分配请求;
14)、统筹中心服务器接收该再分配请求,判断统筹中心服务器内存中存储的目标信息标识对应的第二剩余总量是否为0;若是,执行步骤17)~步骤18);否则,执行步骤15)~步骤16);
15)、统筹中心服务器根据第二剩余总量,以及信息订制业务服务器的数量再次为该目标信息订制业务服务器分配信息配额;
16)、目标信息订制业务服务器根据再次分配的配额对订制请求进行响应;
17)、统筹中心服务器向目标信息订制业务服务器返回再分配失败响应;
18)、目标信息订制业务服务器接收再分配失败响应,将目标信息标识对应的订制标识设置为订制结束,并向统筹中心服务器返回信息订制失败响应,以使统筹中心服务器向客户端返回信息订制失败响应。
在该实施方式中,信息订制业务服务器可以在内存中存储目标信息标识对应的订制标识,当该订制标识为订制结束时,则表明信息剩余总量为0,或者已经达到信息订制结束时间。
相应地,目标信息订制业务服务器判断信息配额剩余量小于信息量之后,可以判断该目标信息标识对应的订制标识是否为订制结束,若为订制结束,目标信息订制业务服务器可以向统筹中心服务器返回信息订制失败响应,以使统筹中心服务器向客户端返回信息订制失败响应。
若目标信息订制业务服务器判断目标信息标识对应的订制标识不为订制结束,即目标信息订制业务服务器可以确定目标信息的剩余总量不为0,从而,目标信息订制业务服务器可以向统筹中心服务器发送再分配请求,以请求统筹中心服务器再次为该目标信息订制业务服务器分配信息配额;统筹中心服务器接收到再分配请求之后,可以判断内存中存储的目标信息标识对应的第二剩余总量是否为0,若为0,向目标信息订制业务服务器返回再分配失败响应,以使目标信息订制业务服务器将目标信息标识对应的订制标识设置为订制结束,并向统筹中心服务器返回信息订制失败响应,以使统筹中心服务器向客户端返回信息订制失败响应;若不为0,统筹中心服务器可以根据目标信息标识对应的第二剩余总量,以及信息订制业务服务器的数量再次为该目标信息订制业务服务器分配信息配额,其具体实现方式可以参见上述相关描述;目标信息订制业务服务器接收到统筹中心服务器再次分配的信息配额之后,可以根据该再次分配的信息配额对订制请求进行响应。
S205、目标信息订制业务服务器从该信息配额剩余量中扣除该信息订制量,并向统筹中心服务器返回信息订制成功响应。
本发明实施例中,目标信息订制业务服务器判断信息配额剩余量大于或等于订制请求中包括的信息订制量时,目标信息订制业务服务器可以从该信息配额剩余量中扣除该信息订制量,并向统筹中心服务器返回信息订制成功响应。
例如,假设信息配额剩余量为20,信息订制量为5,则目标信息订制业务服务器可以从信息配额剩余量中扣除该信息订制量,即将信息配额剩余量由20更新为15(20-5=15),并向统筹中心服务器返回信息订制成功响应。
S206、统筹中心服务器从目标信息标识对应的第一信息剩余总量中扣除该信息订制量,并向客户端返回订制成功响应。
本发明实施例中,统筹中心服务器接收到目标信息订制业务服务器返回的信息订制成功响应之后,可以从目标信息标识对应的第一信息剩余总量中扣除相应的信息订制量,并向客户端返回订制成功响应。
例如,假设目标信息标识对应的第一信息剩余总量为100,信息订制量为5,则统筹中心服务器可以从目标信息标识对应的第一信息剩余量中扣除该信息订制量,即将目标信息标识对应的第一信息剩余量由20更新为15(20-5=15),并向统筹中心服务器返回信息订制成功响应。
作为一种可选的实施方式,上述步骤S205中,目标信息订制业务服务器从该信息配额剩余量中扣除该信息订制量之后,还可以包括以下步骤:
21)、目标信息订制业务服务器向数据库服务器发送信息订制成功响应,以使数据库服务器从自身存储的目标信息标识对应的第三信息剩余总量中扣除该信息订制量,以得到目标信息标识对应的更新后的第三信息剩余量;
22)、目标信息订制业务服务器获取数据库服务器中存储的更新后的第三信息剩余总量,并将该更新后的第三信息剩余总量发送给统筹中心服务器;
23)、统筹中心服务器将统筹中心服务器内存中存储的目标信息标识对应的第一信息剩余总量更新为更新后的第三信息剩余量。
在该实施方式中,目标信息订制业务服务器判断内存中存储的信息配额剩余量大于或等于信息订制量,并从信息配额剩余量扣除信息订制量之后,还可以向数据库服务器发送信息订制成功响应,以使数据库服务器更新该目标信息标识对应的信息剩余总量,其中,该信息订制成功响应中可以包括订制请求中包括的信息订制量、目标信息标识。
数据库服务器接收到目标信息订制业务服务器发送的信息订制成功响应之后,可以从自身存储的目标信息标识对应的信息剩余总量(第三信息剩余总量)中扣除该信息订制量,以得到目标信息标识对应的更新后的第三信息剩余量。数据库服务器得到更新后的第三信息剩余量之后,可以主动将该更新后的第三信息剩余量发送给目标信息订制业务服务器,也可以在接收到目标信息订制业务服务器的查询(或获取)请求之后,将更新后的第三信息剩余总量发送给目标信息订制业务服务器。
目标信息订制业务服务器获取到更新后的第三信息剩余总量之后,可以将该更新后的第三信息剩余总量发送给统筹中心服务器,以使统筹中心服务器将统筹中心服务器内存中存储的该目标信息标识对应的第一信息剩余总量更新为该更新后的第三信息剩余量,从而能够保证统筹中心服务器内存中存储的目标信息标识对应的信息剩余总量的更新的准确性,避免由于数据库服务器中目标信息标识对应的信息剩余总量发生变化(如信息订制发起方增加或减少目标信息标识对应的信息数量),而统筹中心服务器未能及时更新导致的信息订制故障。
在图2所描述的方法流程中,通过设置多个信息订制业务服务器实现负载均衡,提高了信息订制系统的稳定性;同时,通过将信息剩余总量、配额剩余量等配置信息加载到内存中,从而不需要在每次接收到订制请求时,均从数据库服务器中读取相关配置信息,提高了信息订制处理效率。
基于图1所示的网络构架,本发明实施例提供了的另一种信息订制方法。如图3所示,为本发明实施例提供的另一种信息订制方法的流程示意图,可以包括以下步骤:
S301、统筹中心服务器接收客户端发送的针对目标信息的订制请求,该订制请求中包括用户标识、目标信息标识以及信息订制量。
S302、统筹中心服务器统计单位时间内接收到的订制请求的第一数量,并判断该第一数量是否超过统筹中心服务器内存中存储的单位时间信息订制请求量第一阈值。若是,转至步骤S303;否则,返回信息订制失败响应。
本发明实施例中,统筹中心服务器还可以在内存中加载单位时间信息订制请求量阈值(第一阈值)。相应地,当统筹中心服务器接收到客户端发送的针对目标信息的订制请求时,统筹中心服务器可以统计单位时间内接收到的订制请求的数量(第一数量),并判断该第一数量是否超过内存中存储的单位时间信息订制请求量第一阈值,并当判断为超过时,向客户端返回信息订制失败响应,从而能够控制信息订制系统的访问量,提高信息订制系统的稳定性。
例如,假设单位时间信息订制请求量第一阈值可以为100次/分钟,则当统筹中心服务器接收到订制请求时,统筹中心服务器可以统计最近一分钟内接收到的订制请求的数量,并判断该数量是否超过100次,若超过,则统筹中心服务器不将该订制请求发送给信息订制业务服务器,并向客户端返回信息订制失败响应。
S303、统筹中心服务器判断统筹中心服务器内存中存储的目标信息标识对应的第一信息剩余总量是否小于信息订制量。若是,返回信息订制失败响应;否则,转至步骤S304。
S304、统筹中心服务器将该订制请求发送给多个信息订制业务服务器中目标信息订制业务服务器。
本发明实施例中,步骤S303~步骤S304的具体实现可以参见上述步骤S202~步骤S203中相关描述,本发明实施例在此不再赘述。
S305、目标信息订制业务服务器统计单位时间内接收到的订制请求的第二数量,并判断该第二数量是否超过目标信息订制业务服务器内存中存储的单位时间信息订制请求量第二阈值。若超过,返回订制失败响应;否则,转至步骤S306。
本发明实施例中,目标信息订制业务服务器还可以在内存中加载单位时间信息订制请求量阈值(第二阈值)。相应地,当目标信息订制业务服务器接收到统筹中心服务器转发的订制请求时,目标信息订制业务服务器可以统计单位时间内接收到的订制请求的数量(第二数量),并判断该第二数量是否超过内存中存储的单位时间信息订制请求量第二阈值,并当判断为超过时,向统筹中心服务器返回信息订制失败响应,以使统筹中心服务器向客户端返回信息订制失败响应,或将该订制请求转发给其它信息订制业务服务器,从而能够控制信息订制系统的访问量,提高信息订制系统的稳定性。
例如,假设单位时间信息订制请求量第二阈值可以为20次/分钟,则当目标信息订制业务服务器接收到订制请求时,目标信息订制业务服务器可以统计最近一分钟内接收到的订制请求的数量,并判断该数量是否超过20次,若超过,则目标信息订制业务服务器向统筹中心服务器返回信息订制失败响应。
S306、目标信息订制业务服务器判断目标信息订制业务服务器中存储的目标信息标识对应的信息配额剩余量是否小于信息订制量;若是,返回订制失败响应;否则,转至步骤S307。
S307、目标信息订制业务服务器从该信息配额剩余量中扣除该信息订制量,并向统筹中心服务器返回信息订制成功响应。
S308、统筹中心服务器从目标信息标识对应的第一信息剩余总量中扣除该信息订制量,并向客户端返回订制成功响应。
本发明实施例中,步骤S306~步骤S308的具体实现可以参见上述步骤S204~步骤S206中相关描述,本发明实施例在此不再赘述。
在图3所描述的方法流程中,通过设置统筹中心服务器单位时间信息订制请求量阈值,以及信息订制业务服务器单位时间信息订制请求量阈值,有效地控制了信息订制系统的业务处理量,进一步提高了系统稳定性。
进一步地,在本发明实施例中,统筹中心服务器还可以在内存中加载每用户单位时间信息订制请求量阈值(第三阈值),并根据该第三阈值对同一用户在单位时间内发起的信息订制请求进行限制,提高信息订制系统稳定性的同时,尽可能保证了信息订制的公平性。
相应地,本发明实施例中,统筹中心服务器接收到客户端发送的针对目标信息的订制请求之后,还可以包括以下步骤:
31)、统筹中心服务器统计单位时间内接收到该订制请求中包括的用户标识对应的订制请求的第三数量;
32)、统筹中心服务器判断该第三数量是否超过统筹中心服务器内存中存储的每用户单位时间信息订制请求量第三阈值;若超过,转至步骤33);否则,执行上述步骤S202或步骤S302或步骤S303。
33)、若超过,统筹中心服务器向客户端返回信息订制失败响应。
进一步地,在本发明实施例中,为了提高信息订制系统的稳定性,图1所示的网络架构中,一方面,统筹中心服务器可以包括采用主备模式部署,即可以部署一个主统筹中心服务器,以及一个或多个备统筹中心服务器;当主统筹中心服务器正常工作时,客户端发送的订制请求由主统筹中心服务器接收并转发;当主统筹中心服务器故障时,备统筹中心服务器或其中一个备统筹中心服务器切换为主统筹中心服务器;其中,主备统筹中心服务器在启动过程中均在内存中加载相关配置信息,且备统筹中心服务器可以定期与数据库服务器同步更新相关配置信息。另一方面,可以通过多机房部署多套信息订制业务服务器的方式,避免由于机房出现意外事件(如网络中断、地震、火灾等)而导致信息订制业务服务器不可用。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种信息订制系统,可以应用于上述方法实施例。
如图4所示,为本发明实施例提供的一种信息订制系统的架构示意图,可以包括统筹中心服务器401,以及多个信息订制业务服务器402;其中:
统筹中心服务器401,用于接收客户端发送的针对目标信息的订制请求,该订制请求中包括用户标识、目标信息标识以及信息订制量;
所述统筹中心服务器401,还用于判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量;若否,将所述订制请求发送给多个信息订制业务服务器中的目标信息订制业务服务器;
所述信息订制业务服务器402,用于当作为目标信息订制业务服务器时,判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量是否小于所述信息订制量,若否,从所述信息配额剩余量中扣除所述信息订制量;
所述信息订制业务服务器402,还用于当作为目标信息订制业务服务器时,向所述统筹中心服务器401返回信息订制成功响应;
所述统筹中心服务器401,还用于从所述目标信息标识对应的第一信息剩余总量中扣除所述信息订制量,并向客户端返回订制成功响应。
在可选实施例中,所述信息订制业务服务器402,还可以用于当作为目标信息订制业务服务器,并判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量小于所述信息订制量时,判断所述目标信息标识对应的订制标识是否为订制结束;若为订制结束,向所述统筹中心服务器401返回信息订制失败响应,以使所述统筹中心服务器向所述客户端返回信息订制失败响应;否则,向所述统筹中心服务器401发送再分配请求;
所述统筹中心服务器401,还可以用于判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第二剩余总量是否为0;若不为0,根据所述第二剩余总量,以及信息订制业务服务器的数量再次为所述目标信息订制业务服务器分配信息配额;若为0,向所述目标信息订制业务服务器返回再分配失败响应;
所述信息订制业务服务器402,还可以用于作为目标信息订制业务服务器时,根据再次分配的信息配额对所述订制请求进行响应;或,接收所述再分配失败响应,将所述目标信息标识对应的订制标识设置为订制结束,并向所述统筹中心服务器401返回信息订制失败响应,以使所述统筹中心服务器401向所述客户端返回信息订制失败响应。
在可选实施例中,所述统筹中心服务器401,还可以用于接收到客户端发送的针对目标信息的订制请求之后,统计单位时间内接收到的订制请求的第一数量;
所述统筹中心服务器401,还可以用于判断所述第一数量是否超过所述统筹中心服务器内存中存储的单位时间信息订制请求量第一阈值;若超过,向所述客户端返回信息订制失败响应;否则,执行判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
在可选实施例中,所述信息订制业务服务器402,还可以用于接收到统筹中心服务器发送的订制请求时,统计单位时间内接收到的订制请求的第二数量;
所述信息订制业务服务器402,还可以用于判断该第二数量是否超过所述目标信息订制业务服务器内存中存储的单位时间信息订制请求量第二阈值;若超过,向所述统筹中心服务器返回信息订制失败响应;否则,执行所述判断所述目标信息订制业务服务器内存中存储的所述目标信息标识对应的信息配额剩余量是否小于所述信息订制量的步骤。
在可选实施例中,所述统筹中心服务器401,还可以用于接收到客户端发送的针对目标信息的订制请求之后,统计单位时间内接收到的所述用户标识对应的订制请求的第三数量;
所述统筹中心服务器401,还可以用于判断该第三数量是否超过所述统筹中心服务器内存中存储的每用户单位时间信息订制请求量第三阈值;若超过,向所述客户端返回信息订制失败响应;否则,执行所述判断所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量是否小于所述信息订制量的步骤。
在可选实施例中,所述信息订制业务服务器402,还可以用于作为目标信息订制业务服务器时,从所述信息配额剩余量中扣除所述信息订制量之后,向数据库服务器发送信息订制成功响应,以使所述数据库服务器从自身存储的所述目标信息标识对应的第三信息剩余总量中扣除所述信息订制量,以得到所述目标信息标识对应的更新后的第三信息剩余量;
所述信息订制业务服务器402,还可以用于作为目标信息订制业务服务器时,获取所述数据库服务器中存储的所述更新后的第三信息剩余总量,并将所述更新后的第三信息剩余总量发送给所述统筹中心服务器;
所述统筹中心服务器,还用于将所述统筹中心服务器内存中存储的所述目标信息标识对应的第一信息剩余总量更新为所述更新后的第三信息剩余量。
在可选实施例中,所述统筹中心服务器401,可以具体用于对所述用户标识进行哈希hash运算,并将hash运算的结果对所述信息订制业务服务器的数量取模,根据所述取模结果确定所述订制请求对应的所述多个信息订制业务服务器中的目标信息订制业务服务器,并将所述订制请求发送给所述目标信息订制业务服务器。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。